﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеДенежнымиСредствами
	{
		// Проверяет остатки по регистрам "ЗаявкиНаРасходованиеСредств" и "ДенежныеСредстваВРезерве"
		// по переданной в параметре заявке и управляет значением отказа в проведении платежного документа
		//
		// Параметры
		//  ЗаявкаНаРасходованиеСредств	:Документ.ЗаявкаНаРасходованиеСредств  – заявка, для которой формируются остатки
		//  Дата						:Дата –дата, на которую формируются остатки
		//  Отказ						:Булево –отказ в проведении документа
		//  Заголовок					:Строка –представление документа при проведении
		//  БанковскийСчетКасса			:Банковский счет, касса - место списания денежных средств
		//  СуммаДокумента				:Число - сумма денежных средств к списанию
		//  СуммаВзаиморасчетов			:Число - сумма взаиморасчетов по документу
		//

		public void ПроверитьОстаткиПоЗаявке(/*Дата,Отказ,Заголовок,
			БанковскийСчетКасса,СуммаДокумента,ТаблицаПлатежейУпр, ЕстьРазрешение*/)
		{
			//ТабДоговорыЗаявки = ТаблицаПлатежейУпр.Скопировать();
			//ТабДоговорыЗаявки.Свернуть("ДоговорКонтрагента,Сделка,ДокументПланированияПлатежа","СуммаВзаиморасчетов");
			/*// Проверяем соответствие суммы взаиморасчетов документа сумме взаиморасчетов в ТЧ заявки
*/
		}
		// ПроверитьОстаткиПоЗаявке()
		// Проверяет числится ли данный работник в указанной организации
		//
		// Параметры
		//  Работник     – СправочникСсылка.ФизическиеЛица – Работник
		//  Организация  – СправочникСсылка.Организации    – Организация
		//  ДатаСреза    - Дата                            - Дата, на которую проверяется соответствие
		//  Отказ        – Булево                          – Флаг отказа от проведения
		//  Заголовок    – Строка                          – Заголовок сообщения об ошибке
		//

		public void ПроверитьСоответствиеРаботникаОрганизации(/*Работник, Организация, ДатаСреза, Отказ, Заголовок*/)
		{
			/*//!!! Ждем новую методику данной проверки
*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ 
	|	РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния,
	|   РаботникиОрганизацийСрезПоследних.УдалитьПриказ КАК Приказ
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
	|		&ДатаСреза,
	|		Организация в (&СписокОрганизаций)
	|			И УдалитьФизлицо = &Физлицо) КАК РаботникиОрганизацийСрезПоследних
	|
	|УПОРЯДОЧИТЬ ПО
	|	РаботникиОрганизацийСрезПоследних.УдалитьПриказ.Дата УБЫВ";*/
			//СписокОрганизаций = новый СписокЗначений;
			//СписокОрганизаций.Добавить(Организация);
			if(true/*ЗначениеЗаполнено(Организация.ГоловнаяОрганизация)*/)
			{
				//СписокОрганизаций.Добавить(Организация.ГоловнаяОрганизация);
			}
			//Запрос.УстановитьПараметр("СписокОрганизаций", СписокОрганизаций);
			//Запрос.УстановитьПараметр("Физлицо", Работник);
			//Запрос.УстановитьПараметр("ДатаСреза", ДатаСреза);
			//Результат = Запрос.Выполнить();
			//Выборка = Результат.Выбрать();
			//флНеЧислится = истина;
			//ПриказУвольнение = неопределено;
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*Выборка.ПричинаИзмененияСостояния <> Перечисления.ПричиныИзмененияСостояния.Увольнение*/)
				{
					if(true/*Выборка.Приказ <> ПриказУвольнение*/)
					{
						//флНеЧислится = ложь;
					}
				}
			}
			if(true/*флНеЧислится*/)
			{
				//ТекстОшибки = "Работник "+Строка(Работник)+" не числится в организации """+Строка(Организация)+"""";
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки, Отказ, Заголовок);
			}
		}
		// ПроверитьСоответствиеРаботникаОрганизации()
		// Сравнивается реквизит в документе с переданным в качестве параметра
		//
		// Параметры
		//  ДокументСсылка			– <ДокументСсылка> – документ, в котором проверяется реквизит
		//  ИмяРеквизита			– <Строка> – имя реквизита документа
		//  ЗначениеДляСравнения	– <произвольное> – значение, с которым сравнивается реквизит документа
		//  ИмяТаблицыДокумента		– <Строка> – можно передать имя таблицы документа в явном виде,
		//								чтобы избежать обращения к метаданным (необязательный параметр)
		//
		// Возвращаемое значение:
		//   <Булево>   – <Истина> - реквизиты совпали, <Ложь> - реквизиты разные
		//					для пустой ссылки считается, что проверка закончилась успешно
		//					если к реквизитам документа нет прав на чтение - считается, что реквизиты разные
		//

		public object ПроверитьЗначениеРеквизитаДокумента(/*ДокументСсылка, ИмяРеквизита, ЗначениеДляСравнения, ИмяТаблицыДокумента = ""*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ДокументСсылка)*/)
			{
			}
			if(true/*ИмяТаблицыДокумента = ""*/)
			{
				//ИмяТаблицыДокумента = ДокументСсылка.Метаданные().Имя;
			}
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	1
	|ИЗ
	|	Документ." + ИмяТаблицыДокумента + " КАК Док
	|ГДЕ
	|	Док.Ссылка = &Ссылка 
	|		И Док." + ИмяРеквизита + " = &ЗначениеДляСравнения");*/
			//Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
			//Запрос.УстановитьПараметр("ЗначениеДляСравнения", ЗначениеДляСравнения);
			//Результат = Запрос.Выполнить();
			//РеквизитыСовпали = НЕ Результат.Пустой();
			return null;
		}
		// ПроверитьЗначениеРеквизитаДокумента()
		// Возвращает свободный остаток денежных средств (текущий остаток за вычетом сумм, уже предназначенных
		// к списанию, и зарезервированных).
		//
		// Параметры
		//  БанковскийСчетКасса			:Банковский счет, касса - место списания денежных средств
		//  Дата						:Дата –дата, на которую формируются остатки
		//
		// Возвращаемое значение:
		//   Свободный остаток			:число - свободный остаток на дату по выбранному счету (кассе)
		//

		public object ПолучитьСвободныйОстатокДС(/*БанковскийСчетКасса, Дата, МассивЗаявки, МассивИсключений = Неопределено*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ДенежныеСредстваОстатки.СуммаОстаток - ВЫБОР
	             |		КОГДА (НЕ ДенежныеСредстваВРезервеОстатки.СуммаОстаток ЕСТЬ NULL )
	             |			ТОГДА ДенежныеСредстваВРезервеОстатки.СуммаОстаток
	             |		ИНАЧЕ 0
	             |	КОНЕЦ - ВЫБОР
	             |		КОГДА (НЕ ДенежныеСредстваКСписаниюОстатки.СуммаОстаток ЕСТЬ NULL )
	             |			ТОГДА ДенежныеСредстваКСписаниюОстатки.СуммаОстаток
	             |		ИНАЧЕ 0
	             |	КОНЕЦ + ВЫБОР
	             |		КОГДА (НЕ ДенежныеСредстваКПолучениюОстатки.СуммаОстаток ЕСТЬ NULL )
	             |			ТОГДА ДенежныеСредстваКПолучениюОстатки.СуммаОстаток
	             |		ИНАЧЕ 0
	             |	КОНЕЦ КАК СвободныйОстаток
	             |ИЗ
	             |	РегистрНакопления.ДенежныеСредства.Остатки(&Дата, БанковскийСчетКасса = &БанковскийСчетКасса) КАК ДенежныеСредстваОстатки
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваВРезерве.Остатки(
	             |				&Дата,
	             |				БанковскийСчетКасса = &БанковскийСчетКасса
	             |					И (НЕ ДокументРезервирования В (&МассивЗаявки))) КАК ДенежныеСредстваВРезервеОстатки
	             |		ПО ДенежныеСредстваОстатки.БанковскийСчетКасса = ДенежныеСредстваВРезервеОстатки.БанковскийСчетКасса
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКСписанию.Остатки(
	             |				&Дата,
	             |				БанковскийСчетКасса = &БанковскийСчетКасса
	             |					И (НЕ ДокументСписания В (&МассивИсключений))) КАК ДенежныеСредстваКСписаниюОстатки
	             |		ПО ДенежныеСредстваОстатки.БанковскийСчетКасса = ДенежныеСредстваКСписаниюОстатки.БанковскийСчетКасса
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКПолучению.Остатки(&Дата, БанковскийСчетКасса = &БанковскийСчетКасса) КАК ДенежныеСредстваКПолучениюОстатки
	             |		ПО ДенежныеСредстваОстатки.БанковскийСчетКасса = ДенежныеСредстваКПолучениюОстатки.БанковскийСчетКасса";*/
			//Запрос.УстановитьПараметр("БанковскийСчетКасса",БанковскийСчетКасса);
			//Запрос.УстановитьПараметр("Дата",Новый Граница(КонецДня(Дата),ВидГраницы.Включая));
			//Запрос.УстановитьПараметр("МассивЗаявки",МассивЗаявки);
			if(true/*МассивИсключений = Неопределено*/)
			{
				//МассивИсключений = Новый Массив;
			}
			//Запрос.УстановитьПараметр("МассивИсключений",МассивИсключений);
			//РезультатЗапроса=Запрос.Выполнить().Выбрать();
			if(true/*РезультатЗапроса.Следующий() И (НЕ РезультатЗапроса.СвободныйОстаток=NULL)*/)
			{
			}
			return null;
		}
		// ПолучитьСвободныйОстатокДС()
		// Возвращает остаток денежных средств в планируемых поступлениях, еще не размещенных по другим заявкам
		// к списанию, и зарезервированных).
		//
		// Параметры
		//  ДокументПланировани			:Документ планируемого поступления денежных средств
		//  Дата						:Дата –дата, на которую формируются остатки
		//
		// Возвращаемое значение:
		//   Свободный остаток			:число - свободный остаток на дату выбранному документу
		//

		public object ПолучитьНеразмещенныйостаток(/*ДокументПланирования,Дата, ЗаявкаНаРасходованиеСредств*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ПланируемыеПоступленияДенежныхСредствОстатки.СуммаОстаток - ВЫБОР КОГДА НЕ((РазмещениеЗаявокНаРасходованиеСредствОстатки.СуммаОстаток) ЕСТЬ NULL ) ТОГДА РазмещениеЗаявокНаРасходованиеСредствОстатки.СуммаОстаток ИНАЧЕ 0 КОНЕЦ КАК СвободныйОстаток
	             |ИЗ
	             |	РегистрНакопления.ПланируемыеПоступленияДенежныхСредств.Остатки(&Дата, ДокументПланирования = &ДокументПланирования) КАК ПланируемыеПоступленияДенежныхСредствОстатки
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаявокНаРасходованиеСредств.Остатки(, НЕ(ДокументРезервирования = &ТекущаяЗаявка)) КАК РазмещениеЗаявокНаРасходованиеСредствОстатки
	             |		ПО ПланируемыеПоступленияДенежныхСредствОстатки.ДокументПланирования = РазмещениеЗаявокНаРасходованиеСредствОстатки.ДокументПланирования";*/
			//Запрос.УстановитьПараметр("ДокументПланирования",ДокументПланирования);
			//Запрос.УстановитьПараметр("Дата",Новый Граница(КонецДня(Дата),ВидГраницы.Включая));
			//Запрос.УстановитьПараметр("ТекущаяЗаявка",ЗаявкаНаРасходованиеСредств);
			//РезультатЗапроса=Запрос.Выполнить().Выбрать();
			if(true/*РезультатЗапроса.Следующий() И (НЕ РезультатЗапроса.СвободныйОстаток=NULL)*/)
			{
			}
			return null;
		}
		// ПолучитьСвободныйОстатокДС()
		// Возвращает таблицу, аналогичную таблице "Расшифровка платежа" с добавленной колонкой "СуммаУпр"
		//

		public object ПолучитьТаблицуПлатежейУпр(/*ДатаДокумента,ВалютаДокумента,Документ, ВидПлатежногоДокумента*/)
		{
			/*ВыбиратьДокументРасчетовСКонтрагентом = (	ВидПлатежногоДокумента = "ПлатежноеПоручениеВходящее"
											ИЛИ ВидПлатежногоДокумента = "ПлатежноеПоручениеИсходящее"
											ИЛИ ВидПлатежногоДокумента = "РасходныйКассовыйОрдер"
											ИЛИ ВидПлатежногоДокумента = "ПриходныйКассовыйОрдер"
											ИЛИ ВидПлатежногоДокумента = "ПлатежныйОрдерСписаниеДенежныхСредств"
											ИЛИ ВидПлатежногоДокумента = "ПлатежныйОрдерПоступлениеДенежныхСредств"
											ИЛИ ВидПлатежногоДокумента = "ПлатежноеТребованиеВыставленное"
											ИЛИ ВидПлатежногоДокумента = "ПлатежноеТребованиеПолученное"
											ИЛИ ВидПлатежногоДокумента = "ИнкассовоеПоручениеПолученное"
											ИЛИ ВидПлатежногоДокумента = "ИнкассовоеПоручениеПереданное"
											ИЛИ ВидПлатежногоДокумента = "АккредитивПереданный"
											ИЛИ ВидПлатежногоДокумента = "АккредитивПолученный");*/
			/*КонтролироватьЗадолженности=(	ВидПлатежногоДокумента = "ПлатежноеПоручениеИсходящее"
											ИЛИ ВидПлатежногоДокумента = "РасходныйКассовыйОрдер"
											ИЛИ ВидПлатежногоДокумента = "ПлатежныйОрдерСписаниеДенежныхСредств"
											ИЛИ ВидПлатежногоДокумента = "ПлатежноеТребованиеПолученное"
											ИЛИ ВидПлатежногоДокумента = "ИнкассовоеПоручениеПолученное"
											ИЛИ ВидПлатежногоДокумента = "АккредитивПереданный");*/
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента КАК ДоговорКонтрагента,
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента.ВидДоговора КАК ВидДоговора,
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента.КонтролироватьДенежныеСредстваКомитента КАК КонтролироватьДенежныеСредстваКомитента,
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
	|	РасшифровкаПлатежаДок.ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ВедениеВзаиморасчетов,";*/
			if(true/*КонтролироватьЗадолженности*/)
			{
				/*Запрос.Текст=Запрос.Текст+"
		|	РасшифровкаПлатежаДок.ДоговорКонтрагента.КонтролироватьСуммуЗадолженности КАК КонтролироватьСуммуЗадолженности,
		|	РасшифровкаПлатежаДок.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности КАК КонтролироватьЧислоДнейЗадолженности,
		|	РасшифровкаПлатежаДок.ДоговорКонтрагента.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
		|	РасшифровкаПлатежаДок.ДоговорКонтрагента.ПроцентПредоплаты КАК ПроцентПредоплаты,";*/
			}
			/*Запрос.Текст=Запрос.Текст+"
	|	ВЫБОР КОГДА НЕ РасшифровкаПлатежаДок.ДоговорКонтрагента=&ПустойДоговор 
	|		Тогда РасшифровкаПлатежаДок.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом
	|		Иначе ЛОЖЬ КОНЕЦ КАК ВестиПоДокументамРасчетовСКонтрагентом,	
	|	РасшифровкаПлатежаДок.Сделка КАК Сделка," + ?(ВыбиратьДокументРасчетовСКонтрагентом, "
	|	РасшифровкаПлатежаДок.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,", "") + "
	|	РасшифровкаПлатежаДок.СуммаПлатежа КАК СуммаПлатежа,
	|	РасшифровкаПлатежаДок.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	РасшифровкаПлатежаДок.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
	|	РасшифровкаПлатежаДок.ДокументПланированияПлатежа КАК ДокументПланированияПлатежа,
	|	РасшифровкаПлатежаДок.ДокументПланированияПлатежа.ВключатьВПлатежныйКалендарь КАК ВключатьВПлатежныйКалендарь,
	|	РасшифровкаПлатежаДок.Проект КАК Проект,
	|	РасшифровкаПлатежаДок.СуммаПлатежаПлан КАК СуммаПлатежаПлан,
	|	ВЫРАЗИТЬ 
	|	(ВЫБОР 
	|		КОГДА &ВалютаДокумента=&ВалютаУпрУчета ТОГДА РасшифровкаПлатежаДок.СуммаПлатежа
	|		КОГДА (КурсыУпрУчета.Курс ЕСТЬ NULL) ИЛИ (КурсыДокумента.Курс ЕСТЬ NULL) ТОГДА 0
	|		КОГДА &ВалютаДокумента<>&ВалютаУпрУчета И КурсыДокумента.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
	|			РасшифровкаПлатежаДок.СуммаПлатежа*КурсыДокумента.Курс * КурсыУпрУчета.Кратность 
	|			/ (КурсыУпрУчета.Курс * КурсыДокумента.Кратность)
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ КАК ЧИСЛО (15,2)) КАК СуммаУпр,
	|	ВЫРАЗИТЬ 
	|	(ВЫБОР 
	|		КОГДА &ВалютаДокумента=&ВалютаРеглУчета ТОГДА РасшифровкаПлатежаДок.СуммаПлатежа
	|		КОГДА (КурсыУпрУчета.Курс ЕСТЬ NULL) ИЛИ (КурсыДокумента.Курс ЕСТЬ NULL) ТОГДА 0
	|		КОГДА &ВалютаДокумента<>&ВалютаРеглУчета И КурсыДокумента.Курс <>0 ТОГДА
	|			РасшифровкаПлатежаДок.СуммаПлатежа*КурсыДокумента.Курс
	|			/ КурсыДокумента.Кратность
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ КАК ЧИСЛО (15,2)) КАК СуммаРегл,
	|	ВЫБОР
	|		КОГДА КурсыДокумента.Курс ЕСТЬ NULL ТОГДА 0
	|		ИНАЧЕ КурсыДокумента.Курс КОНЕЦ Как КурсДокумента,
	|	ВЫБОР
	|		КОГДА КурсыДокумента.Кратность ЕСТЬ NULL ТОГДА 0
	|		ИНАЧЕ КурсыДокумента.Кратность КОНЕЦ Как КратностьДокумента,
	|	ВЫБОР
	|		КОГДА КурсыУпрУчета.Курс ЕСТЬ NULL ТОГДА 0
	|		ИНАЧЕ КурсыУпрУчета.Курс КОНЕЦ Как КурсУпрУчета,
	|	ВЫБОР
	|		КОГДА КурсыУпрУчета.Кратность ЕСТЬ NULL ТОГДА 0
	|		ИНАЧЕ КурсыУпрУчета.Кратность КОНЕЦ Как КратностьУпрУчета,
	|	ЕСТЬNULL(ОстаткиВзаиморасчетовПоДокументам.СуммаВзаиморасчетовОстаток, ЕСТЬNULL(ОстаткиВзаиморасчетов.СуммаВзаиморасчетовОстаток, 0)) КАК СуммаВзаиморасчетовОстаток,
	|	ВЫБОР КОГДА ОстаткиВзаиморасчетовПоДокументам.СуммаВзаиморасчетовОстаток ЕСТЬ NULL 
	|		ТОГДА
	|			ЕСТЬNULL(ОстаткиВзаиморасчетов.СуммаУпрОстаток, 0) 
	|		КОГДА ЕСТЬNULL(ОстаткиВзаиморасчетов.СуммаВзаиморасчетовОстаток, 0) = 0
	|			ТОГДА
	|				ЕСТЬNULL(ОстаткиВзаиморасчетов.СуммаУпрОстаток, 0) 
	|		ИНАЧЕ
	|			ЕСТЬNULL(ОстаткиВзаиморасчетов.СуммаУпрОстаток, 0) * ЕСТЬNULL(ОстаткиВзаиморасчетовПоДокументам.СуммаВзаиморасчетовОстаток, 0) / ОстаткиВзаиморасчетов.СуммаВзаиморасчетовОстаток
	|	КОНЕЦ КАК СуммаУпрОстаток
	|ИЗ
	|	Документ."+ВидПлатежногоДокумента+".РасшифровкаПлатежа КАК РасшифровкаПлатежаДок
	|	ЛЕВОЕ СОЕДИНЕНИЕ 
	|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
	|	ПО ИСТИНА
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта=&ВалютаДокумента) КАК КурсыДокумента
	|	ПО ИСТИНА
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|	РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(,ДоговорКонтрагента В (
	|																			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|																				РасшифровкаПлатежаДокВнутр.ДоговорКонтрагента
	|																			ИЗ
	|																			Документ."+ВидПлатежногоДокумента+".РасшифровкаПлатежа КАК РасшифровкаПлатежаДокВнутр
	|																				ГДЕ РасшифровкаПлатежаДокВнутр.Ссылка = &Ссылка)
	|															) КАК ОстаткиВзаиморасчетов
	|	ПО РасшифровкаПлатежаДок.ДоговорКонтрагента = ОстаткиВзаиморасчетов.ДоговорКонтрагента
	|		И ВЫБОР КОГДА РасшифровкаПлатежаДок.Сделка В (&ПустыеСделки) ТОГДА Неопределено ИНАЧЕ РасшифровкаПлатежаДок.Сделка КОНЕЦ = ОстаткиВзаиморасчетов.Сделка
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(,ДоговорКонтрагента В (
	|																			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|																				РасшифровкаПлатежаДокВнутр.ДоговорКонтрагента
	|																			ИЗ
	|																			Документ."+ВидПлатежногоДокумента+".РасшифровкаПлатежа КАК РасшифровкаПлатежаДокВнутр
	|																				ГДЕ РасшифровкаПлатежаДокВнутр.Ссылка = &Ссылка)
	|															) КАК ОстаткиВзаиморасчетовПоДокументам
	|	ПО РасшифровкаПлатежаДок.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА 
	|		И РасшифровкаПлатежаДок.ДоговорКонтрагента = ОстаткиВзаиморасчетовПоДокументам.ДоговорКонтрагента
	|		И ВЫБОР КОГДА РасшифровкаПлатежаДок.Сделка В (&ПустыеСделки) ТОГДА Неопределено ИНАЧЕ РасшифровкаПлатежаДок.Сделка КОНЕЦ = ОстаткиВзаиморасчетовПоДокументам.Сделка" + ?(ВыбиратьДокументРасчетовСКонтрагентом, "
	|		И ВЫБОР КОГДА РасшифровкаПлатежаДок.ДокументРасчетовСКонтрагентом В (&ПустыеРасчетныеДокументы) ТОГДА Неопределено ИНАЧЕ РасшифровкаПлатежаДок.ДокументРасчетовСКонтрагентом КОНЕЦ = ОстаткиВзаиморасчетовПоДокументам.ДокументРасчетовСКонтрагентом", "") + "
	|ГДЕ
	|	РасшифровкаПлатежаДок.Ссылка = &Ссылка";*/
			/*// Получим ссылки пустых документов:
*/
			//ТипыСделок = Метаданные.РегистрыНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Измерения.Сделка.Тип.Типы();
			//МассивПустыхСделок = Новый Массив;
			//ТипыРасчетныхДокументов = Метаданные.РегистрыНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Измерения.ДокументРасчетовСКонтрагентом.Тип.Типы();
			//МассивПустыхРасчетныхДокументов = Новый Массив;
			//Запрос.УстановитьПараметр("ПустыеСделки",МассивПустыхСделок);
			//Запрос.УстановитьПараметр("ПустыеРасчетныеДокументы",МассивПустыхРасчетныхДокументов);
			//Запрос.УстановитьПараметр("ДатаДокумента",ДатаДокумента);
			//Запрос.УстановитьПараметр("ВалютаДокумента",ВалютаДокумента);
			//Запрос.УстановитьПараметр("ВалютаУпрУчета",глЗначениеПеременной("ВалютаУправленческогоУчета"));
			//Запрос.УстановитьПараметр("ВалютаРеглУчета",глЗначениеПеременной("ВалютаРегламентированногоУчета"));
			//Запрос.УстановитьПараметр("Ссылка",Документ);
			//Запрос.УстановитьПараметр("ПустойДоговор",Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
			return null;
		}
		// ПолучитьТаблицуПлатежей()

		public object ПолучитьДатуДвижений(/*ДатаДокумента,ДатаОплаты*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ДатаОплаты)*/)
			{
				//ДатаДвижений=ДатаДокумента;
			}
			return null;
		}
		// ПолучитьДатуДвижений()
		// Процедура выполняет заполнение суммы документа,
		// по регистру "СуммыЗаказов".
		//
		// Параметры:
		//  ДокументОснование  - документ ссылка (Заказ покупателя, Заказ поставщику).
		//  ВалютаДокумента    - валюта документа (валюта регламентированного учета организаций)
		//  КурсВзаиморасчетов - курс взаиморасчетов по договору
		//  КратностьВзаиморасчетов - кратность взаиморасчетов по договору
		//

		public void ЗаполнитьПоЗаказуУпр(/*ДокументОснование, ВалютаДокумента,КурсДокумента,КратностьДокумента,СтрокаПлатеж, Коэффициент, РасшифровкаПлатежа*/)
		{
			//Расшифровка = ДокументОснование.Товары.Выгрузить();
			//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ДокументОснование.Услуги, Расшифровка);
			if(true/*ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ЗаказПоставщику")*/)
			{
				//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ДокументОснование.Оборудование, Расшифровка);
			}
			//Расшифровка.Свернуть("СтавкаНДС", "Сумма");
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Заказ", ДокументОснование);
			/*Запрос.Текст ="ВЫБРАТЬ
	|	РасчетыСКонтрагентамиОстатки.Сделка Как Сделка,
	|	РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК Сумма
	|ИЗ
	|	РегистрНакопления.РасчетыСКонтрагентами.Остатки(, Сделка = &Заказ) КАК РасчетыСКонтрагентамиОстатки
	|ГДЕ
	|	РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток "+?(Коэффициент=1,">0","<0")+"
	|
	|";*/
			//РезультатЗапроса = Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//Сделка = Выборка.Сделка;
				/*СуммаДокумента = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(Выборка.Сумма*Коэффициент,
		СтрокаПлатеж.ДоговорКонтрагента.ВалютаВзаиморасчетов, 
		ВалютаДокумента,
		СтрокаПлатеж.КурсВзаиморасчетов, КурсДокумента,
		СтрокаПлатеж.КратностьВзаиморасчетов, КратностьДокумента);*/
				if(true/*РасшифровкаПлатежа.Количество() > 1*/)
				{
					//РасшифровкаПлатежа.Удалить(0);
				}
			}
		}
		// ЗаполнитьПоЗаказуУпр()
		// Процедура выполняет заполнение суммы документа,
		// суммы взаиморасчетов по регистру "КонтрагентыВзаиморасчетыКомпании".
		//

		public void ЗаполнитьПоВзаиморасчетамУпр(/*ВалютаДокумента,КурсДокумента,КратностьДокумента,СтрокаПлатеж,Коэффициент*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("ДоговорКонтрагента", СтрокаПлатеж.ДоговорКонтрагента);
			//ТекстУсловия="";
			if(true/*НЕ СтрокаПлатеж.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
			{
				//Запрос.УстановитьПараметр("Сделка", СтрокаПлатеж.Сделка);
				//ТекстУсловия=ТекстУсловия+" И Сделка=&Сделка";
			}
			if(true/*СтрокаПлатеж.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом*/)
			{
				//Запрос.УстановитьПараметр("ДокументРасчетовСКонтрагентом", СтрокаПлатеж.ДокументРасчетовСКонтрагентом);
				/*ТекстУсловия=ТекстУсловия+" И ДокументРасчетовСКонтрагентом = &ДокументРасчетовСКонтрагентом
		|И УпрУчет";*/
				//ТекстРегистр="ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов";
			}
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Сделка КАК Сделка,
	|	СуммаВзаиморасчетовОстаток КАК СуммаДолга // в валюте взаиморасчетов
	|ИЗ
	|	РегистрНакопления."+ТекстРегистр+".Остатки(,
	|	                                                    ДоговорКонтрагента = &ДоговорКонтрагента
	|	                                                   "+ТекстУсловия+")
	|ГДЕ
	|	СуммаВзаиморасчетовОстаток "+?(Коэффициент=1,">0","<0");*/
			//РезультатЗапроса = Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//СтрокаПлатеж.СуммаВзаиморасчетов=Выборка.СуммаДолга*Коэффициент;
				/*СуммаДокумента = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаПлатеж.СуммаВзаиморасчетов, 
		                            СтрокаПлатеж.ДоговорКонтрагента.ВалютаВзаиморасчетов, ВалютаДокумента,
		                            СтрокаПлатеж.КурсВзаиморасчетов, КурсДокумента,
		                            СтрокаПлатеж.КратностьВзаиморасчетов, КратностьДокумента);*/
				//СтрокаПлатеж.СуммаПлатежа=СуммаДокумента;
			}
		}
		// ЗаполнитьПоВзаиморасчетамУпр()
		// Заполняет сумму документа и сумму взаиморасчетов на основании остатка
		// по заявке в регистре "ЗаявкиНаРасходованиеСредств"
		//

		public void ЗаполнитьПоЗаявкеУпр(/*ДокументОбъект,ДокументОснование,ТекущийПользователь*/)
		{
			/*// Проверяем соответствие суммы взаиморасчетов документа сумме взаиморасчетов заявки
*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ЗаявкиНаРасходованиеСредствОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
	|	ЗаявкиНаРасходованиеСредствОстатки.СуммаОстаток КАК СуммаПлатежа,
	|	ЗаявкиНаРасходованиеСредствОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
	|	ЗаявкиНаРасходованиеСредствОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ЗаявкиНаРасходованиеСредствОстатки.Контрагент КАК Контрагент,
	|	ЗаявкиНаРасходованиеСредствОстатки.Контрагент.ОсновнойБанковскийСчет КАК СчетКонтрагента,
	|	ЗаявкиНаРасходованиеСредствОстатки.Сделка КАК Сделка,
	|	ЗаявкиНаРасходованиеСредствОстатки.ДокументРасчетовСКонтрагентом,
	|	ЗаявкиНаРасходованиеСредствОстатки.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
	|	ЗаявкиНаРасходованиеСредствОстатки.Проект КАК Проект,
	|	ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ВалютаВзаиморасчетовПодотчетника КАК ВалютаВзаиморасчетовРаботника,
	|	ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.РасчетныйДокумент КАК РасчетныйДокумент,
	|	ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Ссылка КАК ЗаявкаНаРасходование,
	|	ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Получатель КАК Получатель
	|ИЗ
	|	РегистрНакопления.ЗаявкиНаРасходованиеСредств.Остатки(, ЗаявкаНаРасходование = &ДокументЗаявка) КАК ЗаявкиНаРасходованиеСредствОстатки";*/
			//Запрос.УстановитьПараметр("ДокументЗаявка",ДокументОснование);
			//СтавкаНДС = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекущийПользователь,"ОсновнаяСтавкаНДС");
			//РезультатЗапроса=Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*ДокументОбъект.ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеНалога
			ИЛИ ДокументОбъект.ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочееСписаниеБезналичныхДенежныхСредств*/)
				{
					//СтрокаПлатеж					 = ДокументОбъект.РасшифровкаПлатежа.Добавить();
					//СтрокаПлатеж.СуммаПлатежа		 = Выборка.СуммаПлатежа;
					//СтрокаПлатеж.СуммаВзаиморасчетов = Выборка.СуммаПлатежа;
					//ДокументОбъект.Контрагент		 = Выборка.Контрагент;
				}
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств	 = Выборка.СтатьяДвиженияДенежныхСредств;
				//СтрокаПлатеж.Проект							 = Выборка.Проект;
				//СтрокаПлатеж.ДокументПланированияПлатежа	 = Выборка.ЗаявкаНаРасходование;
				//СтрокаПлатеж.СуммаПлатежаПлан				 = СтрокаПлатеж.СуммаПлатежа;
				//СтрокаПлатеж.КурсВзаиморасчетовПлан			 = СтрокаПлатеж.КурсВзаиморасчетов;
			}
			/*;
	
	ДокументОбъект.СуммаДокумента=ДокументОбъект.РасшифровкаПлатежа.Итог("СуммаПлатежа");*/
		}
		// ЗаполнитьПоЗаявкеУпр()
		// Заполняет сумму документа и сумму взаиморасчетов на основании остатка
		// по планируемому поступлению в регистре "ПланируемыеПоступленияДенежныхСредств"
		//

		public void ЗаполнитьПоПланируемомуПоступлениюУпр(/*РасшифровкаПлатежа,ДокументОснование,СтавкаНДС,ВалютаДокумента,КурсДокумента,КратностьДокумента,ВидОперации*/)
		{
			/*// Проверяем соответствие суммы взаиморасчетов документа сумме взаиморасчетов заявки
*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ПланируемоеПоступлениеОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
	|	ПланируемоеПоступлениеОстатки.СуммаОстаток КАК СуммаПлатежа,
	|	ПланируемоеПоступлениеОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
	|	ПланируемоеПоступлениеОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ПланируемоеПоступлениеОстатки.Сделка КАК Сделка,
	|	ПланируемоеПоступлениеОстатки.ДокументРасчетовСКонтрагентом,
	|	ПланируемоеПоступлениеОстатки.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
	|	ПланируемоеПоступлениеОстатки.Проект КАК Проект,
	|	ПланируемоеПоступлениеОстатки.ДокументПланирования.Ссылка КАК ДокументПланирования
	|ИЗ
	|	РегистрНакопления.ПланируемыеПоступленияДенежныхСредств.Остатки(, ДокументПланирования = &ДокументПланирования) КАК ПланируемоеПоступлениеОстатки";*/
			//Запрос.УстановитьПараметр("ДокументПланирования",ДокументОснование);
			//РасшифровкаПлатежа.Очистить();
			//РезультатЗапроса=Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*ВидОперации=Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочееПоступлениеБезналичныхДенежныхСредств
			ИЛИ ВидОперации=Перечисления.ВидыОперацийПКО.ПриходДенежныхСредствПрочее
			ИЛИ ВидОперации=Перечисления.ВидыОперацийПКО.ПриходДенежныхСредствРозничнаяВыручка*/)
				{
					//СтрокаПлатеж = РасшифровкаПлатежа.Добавить();
					//СтрокаПлатеж.СуммаПлатежа = Выборка.СуммаПлатежа;
					//СтрокаПлатеж.СуммаВзаиморасчетов = Выборка.СуммаПлатежа;
				}
				//СтрокаПлатеж.СтавкаНДС = СтавкаНДС;
				//СтрокаПлатеж.Сделка = Выборка.Сделка;
				//СтрокаПлатеж.ДокументРасчетовСКонтрагентом = Выборка.ДокументРасчетовСКонтрагентом;
				//СтрокаПлатеж.ДоговорКонтрагента = Выборка.ДоговорКонтрагента;
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств = Выборка.СтатьяДвиженияДенежныхСредств;
				//СтрокаПлатеж.Проект = Выборка.Проект;
				//СтрокаПлатеж.ДокументПланированияПлатежа = Выборка.ДокументПланирования;
				//ПересчитатьСуммуНДС(СтрокаПлатеж);
			}
			if(true/*РасшифровкаПлатежа.Количество()=0*/)
			{
				//НоваяСтрока=РасшифровкаПлатежа.Добавить();
				//НоваяСтрока.ДокументПланированияПлатежа=ДокументОснование;
			}
		}
		// ЗаполнитьПоЗаявкеУпр()
		// Заполняет входящий платежный документ на основании исходящего (для расчетов между собственными организациями)
		//

		public void ЗаполнитьПоПлатежномуДокументу(/*ДокументОбъект,Основание*/)
		{
			//ОпределитьВидОперацииПоПлатежномуДокументу(Основание.ВидОперации, ДокументОбъект.ВидОперации);
			/*// Получим преобразованный номер документа
*/
			//ПреобразованныйНомер = СокрЛП(Основание.Номер);
			//Префикс = "";
			//МетаданныеДокумента = Основание.Метаданные();
			if(true/*ЗначениеЗаполнено(Основание.Организация)*/)
			{
				//Префикс = СокрЛП(Основание.Организация.Префикс);
			}
			/*// удаление префикса из номера документа
*/
			if(true/*Найти(ПреобразованныйНомер, Префикс)=1*/)
			{
				//ПреобразованныйНомер = Сред(ПреобразованныйНомер, СтрДлина(Префикс)+1);
			}
			/*// так же, может остаться "минус" впереди
*/
			if(true/*Лев(ПреобразованныйНомер, 1) = "-"*/)
			{
				//ПреобразованныйНомер = Сред(ПреобразованныйНомер, 2);
			}
			/*// удаление ведущих нулей
*/
			while(true/*Лев(ПреобразованныйНомер, 1)="0"*/)
			{
				//ПреобразованныйНомер=Сред(ПреобразованныйНомер, 2);
			}
			/*;
	
	ДокументОбъект.НомерВходящегоДокумента = ПреобразованныйНомер;*/
			//ДокументОбъект.ДатаВходящегоДокумента  = Основание.Дата;
			/*// Поменяем организацию и контрагента местами.	
*/
			//ДокументОбъект.Организация = ЗаполнениеДокументов.ПолучитьОрганизациюПоКонтрагенту(Основание.Контрагент);
			//ДокументОбъект.Контрагент  = ЗаполнениеДокументов.ПолучитьКонтрагентаПоОрганизации(Основание.Организация);
			//ДокументОбъект.СчетОрганизации=Основание.СчетКонтрагента;
			//ДокументОбъект.СчетКонтрагента=Основание.СчетОрганизации;
			//ДокументОбъект.ВалютаДокумента=Основание.ВалютаДокумента;
			if(true/*ДокументОбъект.Организация = ДокументОбъект.Контрагент.ОсновнойДоговорКонтрагента.Организация*/)
			{
				//ДоговорКонтрагента = ДокументОбъект.Контрагент.ОсновнойДоговорКонтрагента;
			}
			/*// Получим список договоров между собственными организациями
*/
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ДоговорыКонтрагентов.Ссылка КАК ДоговорКонтрагента,
	             |	ДоговорыКонтрагентов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
	             |ИЗ
	             |	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
	             |
	             |ГДЕ
	             |	ДоговорыКонтрагентов.Владелец = &Владелец И
	             |	ДоговорыКонтрагентов.Организация = &Организация";*/
			//Запрос.УстановитьПараметр("Владелец",ДокументОбъект.Контрагент);
			//Запрос.УстановитьПараметр("Организация",ДокументОбъект.Организация);
			//ТабДоговоры=Запрос.Выполнить().Выгрузить();
			//ВидДокумента=Основание.Метаданные().Имя;
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	|	ПлатежныйДокументРасшифровкаПлатежа.КурсВзаиморасчетов,
	|	ПлатежныйДокументРасшифровкаПлатежа.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ПлатежныйДокументРасшифровкаПлатежа.СуммаПлатежа,
	|	ПлатежныйДокументРасшифровкаПлатежа.КратностьВзаиморасчетов,
	|	ПлатежныйДокументРасшифровкаПлатежа.СуммаВзаиморасчетов,
	|	ПлатежныйДокументРасшифровкаПлатежа.СтавкаНДС,
	|	ПлатежныйДокументРасшифровкаПлатежа.СуммаНДС,
	|	ПлатежныйДокументРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств,
	|	ПлатежныйДокументРасшифровкаПлатежа.Проект,
	|	ПлатежныйДокументРасшифровкаПлатежа.Ссылка.СуммаДокумента,
	|	КурсыВалютСрезПоследних.Курс КАК КурсДокумента,
	|	КурсыВалютСрезПоследних.Кратность КАК КратностьДокумента
	|ИЗ
	|	Документ."+ВидДокумента+".РасшифровкаПлатежа КАК ПлатежныйДокументРасшифровкаПлатежа
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
	|		ПО ПлатежныйДокументРасшифровкаПлатежа.Ссылка.ВалютаДокумента = КурсыВалютСрезПоследних.Валюта
	|
	|ГДЕ
	|	ПлатежныйДокументРасшифровкаПлатежа.Ссылка = &Ссылка";*/
			//Запрос.УстановитьПараметр("Ссылка",Основание);
			//РезультатЗапроса=Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//ДокументОбъект.СуммаДокумента=Выборка.СуммаДокумента;
				//ДокументОбъект.КурсДокумента=Выборка.КурсДокумента;
				//ДокументОбъект.КратностьДокумента=Выборка.КратностьДокумента;
				//Выборка.Сбросить();
			}
			while(true/*Выборка.Следующий()*/)
			{
				//СтрокаПлатеж=ДокументОбъект.РасшифровкаПлатежа.Добавить();
				//СтруктураПоискаДоговор=Новый Структура;
				//СтруктураПоискаДоговор.Вставить("ДоговорКонтрагента",ДоговорКонтрагента);
				//СтруктураПоискаДоговор.Вставить("ВалютаВзаиморасчетов",Выборка.ВалютаВзаиморасчетов);
				//МассивДоговор=ТабДоговоры.НайтиСтроки(СтруктураПоискаДоговор);
				if(true/*МассивДоговор.Количество()=1*/)
				{
					//СтрокаПлатеж.ДоговорКонтрагента=ДоговорКонтрагента;
				}
				//СтрокаПлатеж.КурсВзаиморасчетов=Выборка.КурсВзаиморасчетов;
				//СтрокаПлатеж.КратностьВзаиморасчетов=Выборка.КратностьВзаиморасчетов;
				//СтрокаПлатеж.СуммаВзаиморасчетов=Выборка.СуммаВзаиморасчетов;
				//СтрокаПлатеж.СуммаПлатежа=Выборка.СуммаПлатежа;
				//СтрокаПлатеж.СтавкаНДС=Выборка.СтавкаНДС;
				//СтрокаПлатеж.СуммаНДС=Выборка.СуммаНДС;
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств=Выборка.СтатьяДвиженияДенежныхСредств;
				//СтрокаПлатеж.Проект=Выборка.Проект;
			}
			//;;
		}
		// ЗаполнитьПриходПоПлатежномуДокументу()
		// Стандартная процедура ввода расходного платежного документа на основании. Применяется ко всем документам,
		// кроме исходящего платежного поручения и расходного кассового ордера.
		//

		public void ЗаполнитьРасходПоОснованию(/*ДокументОбъект, Основание, ПользовательДокумента*/)
		{
			//мВалютаРегламентированногоУчета=глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//СтавкаНДС=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательДокумента,"ОсновнаяСтавкаНДС");
			//СпособЗаполнения = "Не заполнять";
			//ДокументОбъект.ВалютаДокумента  = мВалютаРегламентированногоУчета;
			if(true/*ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику") 
		 ИЛИ ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПоставщика")*/)
			{
				//СтрокаПлатеж=ДокументОбъект.РасшифровкаПлатежа.Добавить();
				//ДокументОбъект.ВидОперации=Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику;
				//СтрокаПлатеж.ДоговорКонтрагента        = Основание.ДоговорКонтрагента;
				//СтруктураКурсаВзаиморасчетов = МодульВалютногоУчета.ПолучитьКурсВалюты(СтрокаПлатеж.ДоговорКонтрагента.ВалютаВзаиморасчетов,);
				//СтрокаПлатеж.КурсВзаиморасчетов           = СтруктураКурсаВзаиморасчетов.Курс;
				//СтрокаПлатеж.КратностьВзаиморасчетов      = СтруктураКурсаВзаиморасчетов.Кратность;
				if(true/*(ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику"))
			И (СтрокаПлатеж.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
			ИЛИ СтрокаПлатеж.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам)*/)
				{
					//СтрокаПлатеж.Сделка=Основание;
				}
				if(true/*ЗначениеЗаполнено(Основание.СтруктурнаяЕдиница)*/)
				{
					//ДокументОбъект.СчетОрганизации          = Основание.СтруктурнаяЕдиница;
				}
				if(true/*НЕ ДокументОбъект.СчетОрганизации.Пустая()*/)
				{
					//ДокументОбъект.ВалютаДокумента=ДокументОбъект.СчетОрганизации.ВалютаДенежныхСредств;
				}
				if(true/*ДокументОбъект.Контрагент.ОсновнойБанковскийСчет.ВалютаДенежныхСредств=ДокументОбъект.ВалютаДокумента*/)
				{
					//ДокументОбъект.СчетКонтрагента = ДокументОбъект.Контрагент.ОсновнойБанковскийСчет;
				}
				if(true/*ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику") И Основание.Проведен*/)
				{
					//СпособЗаполнения = "По заказу";
				}
				if(true/*НЕ ДокументОбъект.СчетОрганизации.Пустая()*/)
				{
					//ДокументОбъект.ВалютаДокумента=ДокументОбъект.СчетОрганизации.ВалютаДенежныхСредств;
				}
				//СтруктураКурсаДокумента = МодульВалютногоУчета.ПолучитьКурсВалюты(ДокументОбъект.ВалютаДокумента,);
				//ДокументОбъект.КурсДокумента      		= СтруктураКурсаДокумента.Курс;
				//ДокументОбъект.КратностьДокумента 		= СтруктураКурсаДокумента.Кратность;
				//СтрокаПлатеж.СтавкаНДС	= СтавкаНДС;
			}
			if(true/*СпособЗаполнения = "По заказу"*/)
			{
				//ЗаполнитьПоЗаказуУпр(Основание, ДокументОбъект.ВалютаДокумента,ДокументОбъект.КурсДокумента,ДокументОбъект.КратностьДокумента,СтрокаПлатеж,-1, ДокументОбъект.РасшифровкаПлатежа);
				//ДокументОбъект.СуммаДокумента=СтрокаПлатеж.СуммаПлатежа;
				//ДокументОбъект.Ответственный=ПользовательДокумента;
			}
			//ДокументОбъект.СуммаДокумента=ДокументОбъект.РасшифровкаПлатежа.Итог("СуммаПлатежа");
			//ДокументОбъект.ОтраженоВОперУчете=Истина;
			//ДокументОбъект.ДокументОснование=Основание.Ссылка;
		}
		// ЗаполнитьРасходПоОснованию
		// Процедура стандартного заполнения входящего платежного документа при вводе на основании. Применима ко всем документам,
		// кроме приходного кассового ордера.
		//

		public void ЗаполнитьПриходПоОснованию(/*ДокументОбъект, Основание, ПользовательДокумента*/)
		{
			//мВалютаРегламентированногоУчета=глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//СтавкаНДС=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательДокумента,"ОсновнаяСтавкаНДС");
			//СпособЗаполнения = "Не заполнять";
			if(true/*ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя")
	 ИЛИ ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПокупателю")*/)
			{
				//СтрокаПлатеж     = ДокументОбъект.РасшифровкаПлатежа.Добавить();
				//СтрокаПлатеж.ДоговорКонтрагента      = Основание.ДоговорКонтрагента;
				//СтруктураКурсаВзаиморасчетов         = МодульВалютногоУчета.ПолучитьКурсВалюты(СтрокаПлатеж.ДоговорКонтрагента.ВалютаВзаиморасчетов, );
				//СтрокаПлатеж.КурсВзаиморасчетов      = СтруктураКурсаВзаиморасчетов.Курс;
				//СтрокаПлатеж.КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность;
				if(true/*ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") И Основание.Проведен*/)
				{
					//СпособЗаполнения = "По заказу";
				}
				if(true/*(ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя"))
			И (СтрокаПлатеж.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
			ИЛИ СтрокаПлатеж.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам)*/)
				{
					//СтрокаПлатеж.Сделка=Основание;
				}
				//ДокументОбъект.ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя;
				if(true/*ЗначениеЗаполнено(Основание.СтруктурнаяЕдиница)*/)
				{
					//ДокументОбъект.СчетОрганизации = Основание.СтруктурнаяЕдиница;
				}
				if(true/*НЕ ДокументОбъект.СчетОрганизации.ВалютаДенежныхСредств.Пустая()*/)
				{
					//ДокументОбъект.ВалютаДокумента=ДокументОбъект.СчетОрганизации.ВалютаДенежныхСредств;
				}
				if(true/*ДокументОбъект.Контрагент.ОсновнойБанковскийСчет.ВалютаДенежныхСредств=ДокументОбъект.ВалютаДокумента*/)
				{
					//ДокументОбъект.СчетКонтрагента = ДокументОбъект.Контрагент.ОсновнойБанковскийСчет;
				}
				//СтруктураКурсаДокумента = МодульВалютногоУчета.ПолучитьКурсВалюты(ДокументОбъект.ВалютаДокумента,);
				//ДокументОбъект.КурсДокумента           = СтруктураКурсаДокумента.Курс;
				//ДокументОбъект.КратностьДокумента      = СтруктураКурсаДокумента.Кратность;
				//СтрокаПлатеж.СтавкаНДС  = СтавкаНДС;
			}
			if(true/*СпособЗаполнения = "По заказу"*/)
			{
				//ЗаполнитьПоЗаказуУпр(Основание, ДокументОбъект.ВалютаДокумента,ДокументОбъект.КурсДокумента,ДокументОбъект.КратностьДокумента, СтрокаПлатеж,1, ДокументОбъект.РасшифровкаПлатежа);
				//ДокументОбъект.Ответственный      = ПользовательДокумента;
			}
			//ДокументОбъект.СуммаДокумента=ДокументОбъект.РасшифровкаПлатежа.Итог("СуммаПлатежа");
			//ДокументОбъект.ДокументОснование=Основание.Ссылка;
			//ДокументОбъект.ОтраженоВОперУчете = Истина;
		}
		// ЗаполнитьПриходПоОснованию()
		// Возвращает структуру с курсами и кратностями для валют, переданных в качестве параметра
		//
		// Параметры
		//  СтруктураГруппаВалют: Структура - Структура, содержащее валюты, для которых необходимо получить курсы
		//	ДатаКурса: Дата - дата, на которую необходимо получить курсы.
		//
		// Возвращаемое значение:
		//   СтруктураКурсыВалют: структура - структура, содержащая курсы для указанных валют.
		//

		public object ПолучитьКурсыДляГруппыВалют(/*СтруктураГруппаВалют,ДатаКурса*/)
		{
			//Запрос=Новый Запрос;
			//СписокВалют=Новый СписокЗначений;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	КурсыВалютСрезПоследних.Курс КАК Курс,
	             |	КурсыВалютСрезПоследних.Кратность КАК Кратность,
	             |	КурсыВалютСрезПоследних.Валюта.Код КАК КодВалюты,
	             |	КурсыВалютСрезПоследних.Валюта.Ссылка КАК Валюта
	             |ИЗ
	             |	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКурса, Валюта.Код В (&СписокВалют)) КАК КурсыВалютСрезПоследних";*/
			//Запрос.УстановитьПараметр("ДатаКурса",ДатаКурса);
			//Запрос.УстановитьПараметр("СписокВалют",СписокВалют);
			//СтруктураКурсыВалют=Новый Структура;
			//Результат=Запрос.Выполнить().Выгрузить();
			return null;
		}
		// ПолучитьКурсыДляГруппыВалют()
		// Определяет сделку, по которой надо сделать движение по строке ТЧ платежного документа
		//
		// Параметры:
		//  ДокументОбъект          	- объект проводимого документа,
		//  СтрокаТЧ				 	- строка табличной части документа, для которой надо определить сделку.
		//  ИмяРеквизитаСделка      	- необязательный параметр, имя реквизита "сделка".
		//
		// Возвращаемое значение:
		//  Ссылка на документ или Неопределно, т.е. значение, которое надо записать в измерение Сделка регистра.
		//

		public object ОпределитьСделкуСтрокиТЧ(/*ДокументОбъект,СтрокаТЧ, ИмяРеквизитаСделка = "Сделка", ИмяРеквизитаДоговор="ДоговорКонтрагента"*/)
		{
			/*// Возвращаемое значение.
*/
			//Сделка = Неопределено;
			//ВедениеВзаиморасчетов=СтрокаТЧ[ИмяРеквизитаДоговор].ВедениеВзаиморасчетов;
			if(true/*ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам
		ИЛИ ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоСчетам*/)
			{
				//Сделка = СтрокаТЧ[ИмяРеквизитаСделка];
			}
			return null;
		}
		// ОпределитьСделкуСтрокиТЧ()
		// Процедура контролирует остаток регистра "Взаиморасчеты с контрагентами" по сделкам
		// и договорам переданной табличной части платежного документа.
		//
		// Параметры:
		//  РасшифровкаПлатежа    - табличная часть платежного документа
		//  Отказ             - флаг отказа в проведении,
		//  Заголовок         - строка, заголовок сообщения об ошибке проведения.
		//

		public void КонтрольОстатковПоТЧ(/*ДатаПлатежа, ТаблицаПлатежейУпр, Отказ, Заголовок, РасчетыВозврат = Неопределено, ВходящийПлатеж = Ложь*/)
		{
			/*// Контроль суммы задолженности по договору
*/
			//СтруктураОтбора      = Новый Структура("КонтролироватьСуммуЗадолженности", Истина);
			//ТаблицаКонтроляСуммы = ТаблицаПлатежейУпр.Скопировать(СтруктураОтбора, "ДоговорКонтрагента,ВалютаВзаиморасчетов,ДопустимаяСуммаЗадолженности,СуммаВзаиморасчетов");
			if(true/*ТаблицаКонтроляСуммы.Количество() > 0*/)
			{
				//ТаблицаКонтроляСуммы.Свернуть("ДоговорКонтрагента,ВалютаВзаиморасчетов,ДопустимаяСуммаЗадолженности","СуммаВзаиморасчетов");
				if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
				{
					/*СтруктураПараметровБлокировки = Новый Структура(
				"ИмяТаблицы, ИсточникДанных", "ВзаиморасчетыСКонтрагентами", ТаблицаКонтроляСуммы);*/
					/*СтруктураИсточникаДанных      = Новый Структура(
				"ДоговорКонтрагента", "ДоговорКонтрагента");*/
					//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, , СтруктураИсточникаДанных, Отказ, Заголовок);
				}
				//Запрос = Новый Запрос;
				/*Запрос.Текст =
		"ВЫБРАТЬ
		|	ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента,
		|   ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток
		|ИЗ
		|	РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(,
		|	ДоговорКонтрагента В (&МассивДоговоров)) КАК ВзаиморасчетыСКонтрагентамиОстатки
		|
		|ДЛЯ ИЗМЕНЕНИЯ
		|	РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки";*/
				//МассивДоговоров = ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(ТаблицаКонтроляСуммы.ВыгрузитьКолонку("ДоговорКонтрагента"));
				//Запрос.УстановитьПараметр("МассивДоговоров", МассивДоговоров);
				//Результат = Запрос.Выполнить();
				//Выборка   = Результат.Выбрать();
			}
			/*// Контроль процента предоплаты по сделке
*/
			if(true/*НЕ РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат*/)
			{
				//Запрос = Новый Запрос;
				//МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
				//Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
				//Запрос.УстановитьПараметр("ТаблицаПлатежейУпр", ТаблицаПлатежейУпр);
				/*Запрос.Текст =
		"ВЫБРАТЬ 
		|	Таб.ДоговорКонтрагента,
		|	Таб.Сделка,
		|	Таб.ПроцентПредоплаты
		|ПОМЕСТИТЬ
		|	ТаблицаКонтроляПроцентаОплаты
		|ИЗ
		|	&ТаблицаПлатежейУпр КАК Таб
		|ГДЕ
		|	Таб.ПроцентПредоплаты > 0";*/
				//Запрос.Выполнить();
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Таб.ДоговорКонтрагента,
		|	Таб.Сделка,
		|	Таб.ПроцентПредоплаты
		|ИЗ
		|	ТаблицаКонтроляПроцентаОплаты КАК Таб";*/
				//ТаблицаКонтроляПроцентаОплаты = Запрос.Выполнить().Выгрузить();
				if(true/*ТаблицаКонтроляПроцентаОплаты.Количество() > 0*/)
				{
					if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
					{
						/*СтруктураПараметровБлокировки = Новый Структура(
					"ИмяТаблицы, ИсточникДанных", "РасчетыСКонтрагентами", ТаблицаКонтроляПроцентаОплаты);*/
						/*СтруктураИсточникаДанных      = Новый Структура(
					"ДоговорКонтрагента, Сделка", "ДоговорКонтрагента", "Сделка");*/
						//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, , СтруктураИсточникаДанных, Отказ, Заголовок);
					}
					/*Запрос.Текст =
			"ВЫБРАТЬ
			|    РасчетыСКонтрагентамиОбороты.ДоговорКонтрагента,
			|    РасчетыСКонтрагентамиОбороты.Сделка,
			|    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход   КАК СуммаЗаказа,
			|    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход   КАК СуммаОплаты
			|ИЗ
			|	 РегистрНакопления.РасчетыСКонтрагентами.Обороты(,,,
			|	 	(ДоговорКонтрагента, Сделка) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента, Сделка ИЗ ТаблицаКонтроляПроцентаОплаты)) КАК РасчетыСКонтрагентамиОбороты
			|
			|ДЛЯ ИЗМЕНЕНИЯ
			|	РегистрНакопления.РасчетыСКонтрагентами.Обороты";*/
					//Результат = Запрос.Выполнить();
					//Выборка   = Результат.Выбрать();
				}
			}
			/*// Контроль числа дней задолженности по документу расчетов
*/
			if(true/*НЕ РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат И НЕ ВходящийПлатеж*/)
			{
				//Запрос = Новый Запрос;
				//МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
				//Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
				//Запрос.УстановитьПараметр("ТаблицаПлатежейУпр", ТаблицаПлатежейУпр);
				/*Запрос.Текст =
		"ВЫБРАТЬ 
		|	Таб.ДоговорКонтрагента
		|ПОМЕСТИТЬ
		|	ТаблицаКонтроляСрокаДолга
		|ИЗ
		|	&ТаблицаПлатежейУпр КАК Таб
		|ГДЕ
		|	Таб.ВестиПоДокументамРасчетовСКонтрагентом
		|		И Таб.КонтролироватьЧислоДнейЗадолженности";*/
				//Запрос.Выполнить();
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Таб.ДоговорКонтрагента,
		|	Таб.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности
		|ИЗ
		|	ТаблицаКонтроляСрокаДолга КАК Таб";*/
				//ТаблицаКонтроляСрокаДолга = Запрос.Выполнить().Выгрузить();
				if(true/*ТаблицаКонтроляСрокаДолга.Количество() > 0*/)
				{
					if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
					{
						/*СтруктураПараметровБлокировки = Новый Структура(
					"ИмяТаблицы, ИсточникДанных", "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов", ТаблицаКонтроляСрокаДолга);*/
						/*СтруктураЗначенийБлокировки   = Новый Структура(
					"УпрУчет", Истина);*/
						/*СтруктураИсточникаДанных      = Новый Структура(
					"ДоговорКонтрагента", "ДоговорКонтрагента");*/
						//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, СтруктураЗначенийБлокировки, СтруктураИсточникаДанных, Отказ, Заголовок);
					}
					/*Запрос.Текст =
			"ВЫБРАТЬ
			|	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента,
			|	МИНИМУМ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата) КАК ДатаПервойСделки
			|ИЗ	
			|	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, 
			|		ДоговорКонтрагента В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента ИЗ ТаблицаКонтроляСрокаДолга)
			|			И УпрУчет) КАК ВзаиморасчетыПоДокументамОстатки
			|ГДЕ 
			|	ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток > 0
			|
			|СГРУППИРОВАТЬ ПО 
			|	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента
			|
			|ДЛЯ ИЗМЕНЕНИЯ
			|	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки";*/
					//Результат = Запрос.Выполнить();
					//Выборка   = Результат.Выбрать();
				}
			}
		}
		// КонтрольОстатковПоТЧ()

		public object НаправленияДвиженияДляДокументаДвиженияДенежныхСредствУпр(/*ВидОперации = неопределено*/)
		{
			if(true/*ЗначениеЗаполнено(ВидОперации)*/)
			{
				//ВозвратПоВидуОпераций = Новый Массив;
				if(true/*ВозвратПоВидуОпераций.Найти(ВидОперации) = Неопределено*/)
				{
				}
			}
			return null;
		}
		// Возвращает признак расчетов с контрагентами
		//

		public object ЕстьРасчетыСКонтрагентами(/*ВидОперации=Неопределено*/)
		{
			if(true/*ВидОперации=Неопределено*/)
			{
			}
			return null;
		}
		// ЕстьРасчетыСКонтрагентами()
		// Возвращает признак расчетов с контрагентами
		//

		public object ЕстьРасчетыПоКредитам(/*ВидОперации=Неопределено*/)
		{
			if(true/*ВидОперации=Неопределено*/)
			{
			}
			return null;
		}
		// ЕстьРасчетыПоКредитам()
		// Определяет вид операции расчетного документа по виду операции заявки на расходование средств
		// или планируемого поступления денежных средств
		//

		public void ОпределитьОперациюПоОснованиюУпр(/*ВидОперации,ВидОперацииОснование*/)
		{
			if(true/*ВидОперацииОснование.Метаданные().Имя="ВидыОперацийЗаявкиНаРасходование"*/)
			{
				if(true/*ВидОперации.Метаданные().Имя="ВидыОперацийСписаниеБезналичныхДенежныхСредств"*/)
				{
					if(true/*ВидОперацииОснование=Перечисления.ВидыОперацийЗаявкиНаРасходование.ВозвратДенежныхСредствПокупателю*/)
					{
						//ВидОперации=Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю;
					}
				}
			}
		}
		// ОпределитьОперациюПоОснованиюУпр()

		public object ОпределитьВидОперацииПлан(/*ВидОперацииДокумент*/)
		{
			//Экспорт;
			if(true/*ВидОперацииДокумент=Перечисления.ВидыОперацийППИсходящее.ОплатаПоставщику ИЛИ
		ВидОперацииДокумент=Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику ИЛИ
		ВидОперацииДокумент=Перечисления.ВидыОперацийРКО.ОплатаПоставщику*/)
			{
				//ВидОперацииПлан=Перечисления.ВидыОперацийЗаявкиНаРасходование.ОплатаПоставщику;
			}
			return null;
		}
		// ОпределитьВидОперацииПлан()

		public void УстановитьСтатьюДДСПоУмолчанию(/*СтрокаПлатеж,ВидОперацииДокумент*/)
		{
			//Экспорт;
			/*// Здесь нужно установить получение настройки пользователя.
*/
			if(true/*ЗначениеЗаполнено(СтрокаПлатеж.ДоговорКонтрагента.ОсновнаяСтатьяДвиженияДенежныхСредств)*/)
			{
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств = СтрокаПлатеж.ДоговорКонтрагента.ОсновнаяСтатьяДвиженияДенежныхСредств;
			}
		}
		// УстановитьСтатьюДДСПоУмолчанию()
		// Определяет вид операции документа поступления по документу расхода - основанию
		//

		public void ОпределитьВидОперацииПоПлатежномуДокументу(/*ВидОперацииОснование,ВидОперацииДокумент*/)
		{
			if(true/*ВидОперацииДокумент.Метаданные().Имя="ВидыОперацийПоступлениеБезналичныхДенежныхСредств"*/)
			{
				if(true/*ВидОперацииОснование=Перечисления.ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю ИЛИ 
			ВидОперацииОснование=Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю*/)
				{
					//ВидОперацииДокумент=Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПоставщиком;
				}
			}
		}
		// ОпределитьВидОперацииПоПлатежномуДокументу()
		// Возаращает вид договора с контрагентом по виду операции
		//

		public object ОпределитьВидДоговораСКонтрагентом(/*ВидОперации=Неопределено*/)
		{
			//СПоставщиком  	= Новый СписокЗначений;
			//СПоставщиком.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
			//СПоставщиком.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомитентом);
			//СПоставщиком.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
			//СПокупателем  	= Новый СписокЗначений;
			//СПокупателем.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
			//СПокупателем.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
			//СПокупателем.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомитентом);
			//Прочее  		= Новый СписокЗначений;
			//Прочее.Добавить(Перечисления.ВидыДоговоровКонтрагентов.Прочее);
			if(true/*ЗначениеЗаполнено(ВидОперации)*/)
			{
				/*//Определение вида операции
*/
				//ВидДоговораПоВидуОпераций = Новый Соответствие();
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.ОплатаПоставщику,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.РасчетыПоКредитамИЗаймамСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.ВозвратДенежныхСредствПокупателю,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.ОплатаПокупателя,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.РасчетыПоКредитамИЗаймамСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.ВозвратДенежныхСредствПоставщиком,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПоставщиком,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступленияОтПродажиИностраннойВалюты,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПриобретениеИностраннойВалюты,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоБанковскимКредитам,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоПлатежнымКартам,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.ОплатаПоставщику,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.ОплатаПоставщику,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.РасчетыПоКредитамИЗаймамСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.ВозвратДенежныхСредствПокупателю,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.ОплатаПокупателя,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.РасчетыПоКредитамИЗаймам,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.ПрочиеРасчетыСКонтрагентами,Прочее);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.ВозвратДенежныхСредствПоставщиком,СПоставщиком);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийОплатаОтПокупателяПлатежнойКартой.ОплатаПокупателя,СПокупателем);
				//ВидДоговораПоВидуОпераций.Вставить(Перечисления.ВидыОперацийОплатаОтПокупателяПлатежнойКартой.ВозвратДенежныхСредствПокупателю,СПокупателем);
				//ВидДоговора=ВидДоговораПоВидуОпераций[ВидОперации];
				if(true/*НЕ ВидДоговора = Неопределено*/)
				{
				}
			}
			return null;
		}
		// ОпределитьВидДоговораСКонтрагентом()
		// Возвращает параметры для выбора сделки по виду операции.
		//

		public object ОпределитьПараметрыВыбораСделки(/*ВидОперации=Неопределено*/)
		{
			//ЗаказПокупателяПриход =  Новый Структура("ВидДвиженияРасчеты,ТипЗаказа","Расход","ЗаказПокупателя");
			/*// Расход по регистру взаиморасчетов
*/
			//ЗаказПокупателяРасход =  Новый Структура("ВидДвиженияРасчеты,ТипЗаказа","Приход","ЗаказПокупателя");
			/*// Приход по регистру взаиморасчетов
*/
			//ЗаказПоставщикуПриход =  Новый Структура("ВидДвиженияРасчеты,ТипЗаказа","Расход","ЗаказПоставщику");
			/*// Расход по регистру взаиморасчетов
*/
			//ЗаказПоставщикуРасход =  Новый Структура("ВидДвиженияРасчеты,ТипЗаказа","Приход","ЗаказПоставщику");
			/*// Приход по регистру взаиморасчетов
*/
			if(true/*ЗначениеЗаполнено(ВидОперации)*/)
			{
				/*//Определение вида операции
*/
				//ПараметрыСделкиПоВидуОпераций = Новый Соответствие();
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.ОплатаПоставщику,ЗаказПоставщикуРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийРКО.ВозвратДенежныхСредствПокупателю,ЗаказПокупателяРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.ОплатаПокупателя,ЗаказПокупателяПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПКО.ВозвратДенежныхСредствПоставщиком,ЗаказПоставщикуПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику,ЗаказПоставщикуРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю,ЗаказПокупателяРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя,ЗаказПокупателяПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПоставщиком,ЗаказПоставщикуПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.ОплатаПоставщику,ЗаказПоставщикуРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю,ЗаказПокупателяРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.ОплатаПоставщику,ЗаказПоставщикуРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийЗаявкиНаРасходование.ВозвратДенежныхСредствПокупателю,ЗаказПокупателяРасход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.ОплатаПокупателя,ЗаказПокупателяПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийПланируемоеПоступлениеДС.ВозвратДенежныхСредствПоставщиком,ЗаказПоставщикуПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийОплатаОтПокупателяПлатежнойКартой.ОплатаПокупателя,ЗаказПокупателяПриход);
				//ПараметрыСделкиПоВидуОпераций.Вставить(Перечисления.ВидыОперацийОплатаОтПокупателяПлатежнойКартой.ВозвратДенежныхСредствПокупателю,ЗаказПокупателяРасход);
				if(true/*Не ПараметрыСделкиПоВидуОпераций[ВидОперации]=Неопределено*/)
				{
				}
			}
			return null;
		}
		// ОпределитьПараметрыВыбораСделки()
		// Для переданной организации получаем флаги отражения по умолчанию документов в бух. и налог. учете
		// (для пустой организации все признаки имеют значение "Ложь")
		//
		// Параметры
		//  Организация		– <СправочникСсылка.Организации> – организация, для которой нужно получить признаки отражения в БУ и НУ
		//  ФлагБУ			– <Булево> – возвращается флаг отражения в БУ по умолчанию
		//  ФлагНУ			– <Булево> – возвращается флаг отражения в НУ по умолчанию
		//  ФлагРеглУчет	– <Булево> – возвращается признак отражения организации в регл.учете (необязательный параметр)
		//

		public void ПолучитьПризнакиОтраженияВРеглУчете(/*Организация, ФлагБУ, ФлагНУ, ФлагРеглУчет = Неопределено*/)
		{
			if(true/*ЗначениеЗаполнено(Организация)*/)
			{
				//ФлагРеглУчет    = Организация.ОтражатьВРегламентированномУчете;
				//ТекПользователь = глЗначениеПеременной("глТекущийПользователь");
				//ФлагБУ = ФлагРеглУчет И УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВБухгалтерскомУчете");
				//ФлагНУ = ФлагБУ И УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВНалоговомУчете");
			}
		}
		// ПолучитьПризнакиОтраженияВРеглУчете()
		// Определяет счет учета денежных средств в бух.учете для банковского счета
		//
		// Параметры
		//  <БанковскийСчет>	– <СправочникСсылка.БанковскиеСчета> – банковский счет, для которого нужно определить
		// 							соответствующий ему счет бух.учета. Для пустой ссылки возвращается счет 51.
		//  <ВалютаРеглУчета> 	– <СправочникСсылка.Валюты> – валюта регламентированного учета
		//  <РасчетыВВалюте>	– <Булево> – дополнительно возвращается признак учета денежных средств в валюте (необязательный параметр)
		//
		// Возвращаемое значение:
		//   <ПланСчетовСсылка.Хозрасчетный>	– счет учета денежных средств, соответствующий банковскому счету
		//

		public object ОпределитьСчетУчетаДенежныхСредств(/*БанковскийСчет, ВалютаРеглУчета, РасчетыВВалюте = Ложь*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(БанковскийСчет)*/)
			{
				//РасчетыВВалюте = Ложь;
			}
			//ВидБанковскогоСчета    = БанковскийСчет.ВидСчета;
			//ВалютаБанковскогоСчета = БанковскийСчет.ВалютаДенежныхСредств;
			//РасчетыВВалюте = ЗначениеЗаполнено(ВалютаБанковскогоСчета) И ВалютаБанковскогоСчета <> ВалютаРеглУчета;
			if(true/*ВидБанковскогоСчета = "Расчетный"*/)
			{
				if(true/*РасчетыВВалюте*/)
				{
					//СчетБУ = ПланыСчетов.Хозрасчетный.ВалютныеСчета;
				}
			}
			return null;
		}
		// ОпределитьСчетУчетаДенежныхСредств()
		// Устанавливает банковский счет по умолчанию. Возвращает состояние установлен/не установлен
		//
		// Параметры
		//  Счет				-	Текущее значение счета
		//  ВладелецСчета  		–	<СправочникСсылка.Контрагенты (.Организации)>
		//							Контрагент (организация), счет которого нужно получить
		//  Валюта  			–	<СправочникСсылка.Валюты>
		//							Валюта регламентированного учета
		//  СовпадениеВалюты	–	<Булево>
		//                          признак совпадения нужной вылюты с указанной, либо исключения ее из поиска
		//							По умолчанию ищем счет с указанной валютой.
		//
		// Возвращаемое значение:
		//   <СправочникСсылка.БанковскиеСчета> – найденный счет или пустая ссылка
		//

		public object УстановитьБанковскийСчет(/*Счет,ВладелецСчета, Валюта, СовпадениеВалюты = Истина*/)
		{
			//НовыйСчет = Справочники.БанковскиеСчета.ПустаяСсылка();
			//Запрос = Новый Запрос;
			/*ТекстЗапроса = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 2
	|	БанковскиеСчета.Ссылка,
	|	ВЫБОР
	|		КОГДА СправочникВладелец.Ссылка ЕСТЬ НЕ NULL 
	|			ТОГДА 1
	|		ИНАЧЕ 2
	|	КОНЕЦ КАК Приоритет
	|ИЗ
	|	Справочник.БанковскиеСчета КАК БанковскиеСчета
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК СправочникВладелец
	|		ПО БанковскиеСчета.Владелец = СправочникВладелец.Ссылка
	|			И БанковскиеСчета.Ссылка = СправочникВладелец.ОсновнойБанковскийСчет
	|ГДЕ
	|	БанковскиеСчета.Владелец = &ВладелецСчета
	|	И БанковскиеСчета.ПометкаУдаления = ЛОЖЬ
	|	И (БанковскиеСчета.ВалютаДенежныхСредств = &Валюта
	|				И &СовпадениеВалюты = ИСТИНА
	|			ИЛИ (НЕ БанковскиеСчета.ВалютаДенежныхСредств = &Валюта)
	|				И &СовпадениеВалюты = ЛОЖЬ)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Приоритет";*/
			//Запрос.УстановитьПараметр("ВладелецСчета",   ВладелецСчета);
			//Запрос.УстановитьПараметр("Валюта", 		 Валюта);
			//Запрос.УстановитьПараметр("СовпадениеВалюты",СовпадениеВалюты);
			if(true/*ТипЗнч(ВладелецСчета) = Тип("СправочникСсылка.Контрагенты")*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Организации", "Справочник.Контрагенты");
			}
			//Запрос.Текст = ТекстЗапроса;
			//Результат    = Запрос.Выполнить();
			if(true/*НЕ Результат.Пустой()*/)
			{
				//Выборка = Результат.Выбрать();
				//Выборка.Следующий();
				//НайденОсновнойСчет = Выборка.Приоритет = 1;
				//НайденОдинСчет     = Выборка.Количество() = 1;
				if(true/*НайденОсновнойСчет ИЛИ НайденОдинСчет*/)
				{
					//НовыйСчет = Выборка.Ссылка;
				}
			}
			if(true/*Счет <> НовыйСчет 
		И ((НЕ ЗначениеЗаполнено(Счет))
			ИЛИ (ТипЗнч(Счет) = Тип("СправочникСсылка.БанковскиеСчета") 
				И Счет.Владелец <> ВладелецСчета))*/)
			{
				//Счет = НовыйСчет;
			}
			return null;
		}
		// ПолучитьБанковскийСчет()
		////////////////////////////////////////////////////////////////////////////////////////////////////
		// Процедуры и функции диалогов расчетных документов
		// Формирует надпись при частичной оплате расчетного документа.
		// Параметры: Расчетный документ - документ, для которого формируется надпись
		//            ИмяРегистра: регистр, по которому проверяются остатки.
		//			  Измерение: имя измерения регистра (ДокументПолучения или ДокументСписания)
		// Возвращаемое значение:
		// 			  ТекстНадписи
		//

		public object СформироватьТекстЧастичнаяОплата(/*РасчетныйДокумент, ИмяРегистра, Измерение*/)
		{
			/*ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ЕСТЬNULL(ОперативноеДвижение.СуммаОстаток, 0) КАК СуммаОстаток
	|ИЗ
	|	РегистрНакопления."+ИмяРегистра+".Остатки(, "+Измерение+" = &РасчетныйДокумент) КАК ОперативноеДвижение
	|ГДЕ
	|	ЕСТЬNULL(ОперативноеДвижение.СуммаОстаток, 0) <> 0";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("РасчетныйДокумент", РасчетныйДокумент);
			//Результат = Запрос.Выполнить();
			if(true/*Результат.Пустой()*/)
			{
				//ТекстНадписи = "Оплата произведена полностью.";
			}
			return null;
		}
		// СформироватьТекстЧастичнаяОплата()
		// Пересчитывает сумму НДС
		//
		// Параметры:
		//  Нет.
		//

		public void ПересчитатьСуммуНДС(/*СтрокаПлатеж*/)
		{
			//ЗначениеСтавкиНДС = УчетНДС.ПолучитьСтавкуНДС(СтрокаПлатеж.СтавкаНДС);
			//СтрокаПлатеж.СуммаНДС = СтрокаПлатеж.СуммаПлатежа*ЗначениеСтавкиНДС/(100+ЗначениеСтавкиНДС);
		}
		// ПересчитатьСуммуНДС()
		// Проставляет реквизиты, необходимые для проведения по регламентированному учету
		//

		public void ЗаполнитьРеквизитыРеглУчета(/*ДокументОбъект,СтрокаПлатеж,НДСПоУмолчанию,ОтражатьВБухгалтерскомУчете=Истина*/)
		{
			//Экспорт;
			/*//Пересчитываем сумму НДС
*/
			if(true/*СтрокаПлатеж.СтавкаНДС.Пустая()*/)
			{
				//СтрокаПлатеж.СтавкаНДС=НДСПоУмолчанию;
			}
			//ПересчитатьСуммуНДС(СтрокаПлатеж);
			if(true/*ОтражатьВБухгалтерскомУчете*/)
			{
				//ОпределитьСчетаУчетаПлатежаПоУмолчанию(ДокументОбъект,СтрокаПлатеж,Истина);
			}
		}
		// ЗаполнитьРеквизитыРеглУчета()

		public void ОпределитьСчетаУчетаПлатежаПоУмолчанию(/*ДокументОбъект,СтрокаПлатеж,ПерезаписыватьЗначения*/)
		{
			//ВидОперации=ДокументОбъект.ВидОперации;
			//ПолученныйСчетРасчетов          = Неопределено;
			//ПолученныйСчетРасчетовПоАвансам = Неопределено;
			if(true/*НЕ ЕстьРасчетыПоКредитам(ВидОперации)*/)
			{
				//СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(ДокументОбъект.Организация, ДокументОбъект.Контрагент, СтрокаПлатеж.ДоговорКонтрагента);
				if(true/*СтрокаПлатеж.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом*/)
				{
					//ПолученныйСчетРасчетов = СчетаУчета.СчетРасчетовСКомитентом;
					//ПолученныйСчетРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
				}
			}
			if(true/*ПолученныйСчетРасчетов <> Неопределено*/)
			{
				if(true/*(НЕ ЗначениеЗаполнено(СтрокаПлатеж.СчетУчетаРасчетовСКонтрагентом) ИЛИ ПерезаписыватьЗначения)*/)
				{
					//СтрокаПлатеж.СчетУчетаРасчетовСКонтрагентом = ПолученныйСчетРасчетов;
				}
				if(true/*(НЕ ЗначениеЗаполнено(СтрокаПлатеж.СчетУчетаРасчетовПоАвансам) ИЛИ ПерезаписыватьЗначения)*/)
				{
					//СтрокаПлатеж.СчетУчетаРасчетовПоАвансам = ПолученныйСчетРасчетовПоАвансам;
				}
			}
		}
		//

		public void ОбработкаПодбораЗадолженностей(/*ДокументОбъект,СтрокаПлатеж,ЗначениеВыбора,
										ПлатежиСписком,ВалютаДокумента,КурсДокумента,КратностьДокумента, НДСПоУмолчанию="",ОтражатьВБухгалтерскомУчете=Неопределено*/)
		{
			//РасшифровкаПлатежа=ДокументОбъект.РасшифровкаПлатежа;
			if(true/*НЕ ЗначениеВыбора.ЕстьПодбор*/)
			{
				//СтруктураОтбора=Новый Структура;
				//СтруктураОтбора.Вставить("ДоговорКонтрагента",ЗначениеВыбора.ДоговорКонтрагента);
				if(true/*Не ЗначениеВыбора.ДоговорКонтрагента.ВедениеВзаиморасчетов=Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
				{
					//СтруктураОтбора.Вставить("Сделка",ЗначениеВыбора.Сделка);
				}
				if(true/*ЗначениеВыбора.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом*/)
				{
					//СтруктураОтбора.Вставить("ДокументРасчетовСКонтрагентом",ЗначениеВыбора.ДокументРасчетовСКонтрагентом);
				}
				//МассивСтрок=РасшифровкаПлатежа.НайтиСтроки(СтруктураОтбора);
				if(true/*Не МассивСтрок=Неопределено*/)
				{
				}
				if(true/*РасшифровкаПлатежа.Количество()>0 И НЕ ЗначениеЗаполнено(РасшифровкаПлатежа[0].ДоговорКонтрагента)*/)
				{
					//РасшифровкаПлатежа.Удалить(РасшифровкаПлатежа[0]);
				}
			}
			if(true/*(НЕ (РасшифровкаПлатежа.Количество()=1 И НЕ ПлатежиСписком)) ИЛИ РасшифровкаПлатежа.Количество()=0*/)
			{
				//СтрокаПлатеж=РасшифровкаПлатежа.Добавить();
			}
			//СтрокаПлатеж.ДоговорКонтрагента=ЗначениеВыбора.ДоговорКонтрагента;
			//СтрокаПлатеж.Сделка=ЗначениеВыбора.Сделка;
			//СтрокаПлатеж.СуммаПлатежа=ЗначениеВыбора.СуммаПлатежа;
			//СтрокаПлатеж.КурсВзаиморасчетов=ЗначениеВыбора.КурсВзаиморасчетов;
			//СтрокаПлатеж.КратностьВзаиморасчетов=ЗначениеВыбора.КратностьВзаиморасчетов;
			//СтрокаПлатеж.СуммаВзаиморасчетов=ЗначениеВыбора.СуммаВзаиморасчетов;
			//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств = ЗначениеВыбора.ДоговорКонтрагента.ОсновнаяСтатьяДвиженияДенежныхСредств;
			if(true/*НЕ ОтражатьВБухгалтерскомУчете=Неопределено*/)
			{
				//ЗаполнитьРеквизитыРеглУчета(ДокументОбъект,СтрокаПлатеж, НДСПоУмолчанию,ОтражатьВБухгалтерскомУчете);
			}
			if(true/*ЗначениеВыбора.Свойство("ДокументПланирования")*/)
			{
				//СтрокаПлатеж.ДокументПланированияПлатежа=ЗначениеВыбора.ДокументПланирования;
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств=ЗначениеВыбора.СтатьяДвиженияДенежныхСредств;
				//СтрокаПлатеж.Проект=ЗначениеВыбора.Проект;
				//СтрокаПлатеж.КурсВзаиморасчетовПлан=ЗначениеВыбора.КурсВзаиморасчетовПлан;
				//СтрокаПлатеж.СуммаПлатежаПлан=ЗначениеВыбора.СуммаПлатежаПлан;
			}
		}
		// ОбработкаПодбораЗадолженностей()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАБОТЫ С ИНТЕРФЕЙСОМ

		public void ЗаполнитьСчетаУчетаПлатежейБУ(/*ДокументОбъект,ТекПользователь,ПерезаписыватьЗначения,СтруктураПараметров=Неопределено*/)
		{
			if(true/*ТипЗнч(СтруктураПараметров)=Тип("Структура")*/)
			{
				//МетаданныеДокумента=СтруктураПараметров.МетаданныеДокумента;
				//ЕстьРасчетыСКонтрагентами=СтруктураПараметров.ЕстьРасчетыСКонтрагентами;
				//ЕстьРасчетыПоКредитам=СтруктураПараметров.ЕстьРасчетыПоКредитам;
			}
			//ЕстьСтавкаНДС = ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СтавкаНДС", МетаданныеДокумента, "РасшифровкаПлатежа");
			//ЕстьДоговорКонтрагента = ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ДоговорКонтрагента", МетаданныеДокумента, "РасшифровкаПлатежа");
		}
		// ЗаполнитьСчетаУчетаБУ
		// Заполняет реквизиты расчетного документа значениями по умолчанию
		//

		public void ЗаполнитьРеквизитыРасчетногоДокумента(/*ДокументОбъект, ТекПользователь, ВалютаРегламентированногоУчета = Неопределено, 
											РасшифровкаПлатежа, ТипОперации = "", ПараметрОбъектКопирования = Неопределено*/)
		{
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			/*// Реквизиты, которые требуется заполнить значениями по умолчанию в том числе и при копировании
*/
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Ответственный") <> Неопределено*/)
			{
				//ДокументОбъект.Ответственный = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОсновнойОтветственный");
			}
			if(true/*НЕ ПараметрОбъектКопирования = Неопределено*/)
			{
			}
			if(true/*РасшифровкаПлатежа.Количество()=0*/)
			{
				//СтрокаПлатеж=РасшифровкаПлатежа.Добавить();
			}
			//ОтражатьВУправленческомУчете = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВУправленческомУчете");
			/*// Заполним флаги принадлежности к учету исходя из значений по умолчанию.
*/
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ОтражатьВУправленческомУчете") <> Неопределено*/)
			{
				//ДокументОбъект.ОтражатьВУправленческомУчете = ОтражатьВУправленческомУчете;
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ОтраженоВОперУчете") <> Неопределено*/)
			{
				//ДокументОбъект.ОтраженоВОперУчете = ОтражатьВУправленческомУчете;
			}
			if(true/*МетаданныеДокумента.Имя="ПриходныйКассовыйОрдер" ИЛИ МетаданныеДокумента.Имя="РасходныйКассовыйОрдер"*/)
			{
				//ДокументОбъект.Оплачено = ОтражатьВУправленческомУчете;
			}
			//ЕстьВыплатаЗП=Ложь;
			/*// если документ на выплату ЗП из кассы, то обработку флагов учета в БУ и НУ не производим (устанавливаются при вводе на основании)
*/
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ВидОперации") <> Неопределено*/)
			{
				if(true/*(НЕ ЗначениеЗаполнено(ДокументОбъект.ВидОперации))*/)
				{
					//ДокументОбъект.ВидОперации = Перечисления[ДокументОбъект.ВидОперации.Метаданные().Имя][0];
				}
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("АвтоРезервирование") <> Неопределено*/)
			{
				//ДокументОбъект.АвтоРезервирование = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "АвтоРезервирование");
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("АвтоРазмещение") <> Неопределено*/)
			{
				//ДокументОбъект.АвтоРазмещение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "АвтоРазмещение");
			}
			/*//Флаги БУ и НУ взаимосвязаны, не возможна ситуация, когда флаг НУ "истина". а флаг БУ "ложь".
*/
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ОтражатьВБухгалтерскомУчете") <> Неопределено И (Не ЕстьВыплатаЗП)*/)
			{
				//ФлагОтражатьВБухгалтерскомУчете = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВБухгалтерскомУчете");
				//ДокументОбъект.ОтражатьВБухгалтерскомУчете  = ФлагОтражатьВБухгалтерскомУчете;
				if(true/*МетаданныеДокумента.Реквизиты.Найти("ОтражатьВНалоговомУчете") <> Неопределено*/)
				{
					if(true/*ФлагОтражатьВБухгалтерскомУчете*/)
					{
						//ДокументОбъект.ОтражатьВНалоговомУчете = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВНалоговомУчете");
					}
				}
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено*/)
			{
				if(true/*(НЕ ЗначениеЗаполнено(ДокументОбъект.Организация))*/)
				{
					//СписокПолей = новый СписокЗначений;
					//СписокПолей.Добавить("ОсновнойБанковскийСчет");
					//СписокПолей.Добавить("ОсновнойБанковскийСчет.ВалютаДенежныхСредств", "ОсновнойБанковскийСчетВалютаДенежныхСредств");
					//ДанныеОрганизация =  УправлениеПользователями.ПолучитьЗначениеПоУмолчаниюПользователя(ТекПользователь, "ОсновнаяОрганизация", СписокПолей);
					//ДокументОбъект.Организация = ДанныеОрганизация.Значение;
				}
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Подразделение") <> Неопределено
	   И (НЕ ЗначениеЗаполнено(ДокументОбъект.Подразделение))*/)
			{
				//ДокументОбъект.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОсновноеПодразделение");
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ВидВыдачиДенежныхСредств") <> Неопределено
	   И (НЕ ЗначениеЗаполнено(ДокументОбъект.ВидВыдачиДенежныхСредств))*/)
			{
				//ДокументОбъект.ВидВыдачиДенежныхСредств = Перечисления.ВидВыдачиДенежныхСредств.КассеККМ;
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ФормаОплаты") <> Неопределено 
		И (НЕ ЗначениеЗаполнено(ДокументОбъект.ФормаОплаты) ИЛИ ДокументОбъект.ФормаОплаты=Перечисления.ВидыДенежныхСредств.Наличные)*/)
			{
				if(true/*МетаданныеДокумента.Реквизиты.Найти("БанковскийСчетКасса") <> Неопределено
			И (НЕ ЗначениеЗаполнено(ДокументОбъект.БанковскийСчетКасса))*/)
				{
					//СписокПолей = новый СписокЗначений;
					//СписокПолей.Добавить("ВалютаДенежныхСредств");
					//ДанныеКасса =  УправлениеПользователями.ПолучитьЗначениеПоУмолчаниюПользователя(ТекПользователь, "ОсновнаяКасса", СписокПолей);
					//БанковскийСчетКасса = ДанныеКасса.Значение;
					if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.ВалютаДокумента) ИЛИ ДанныеКасса.ВалютаДенежныхСредств=ДокументОбъект.ВалютаДокумента*/)
					{
						//ДокументОбъект.БанковскийСчетКасса = ДанныеКасса.Значение;
						//ДокументОбъект.ВалютаДокумента = ДанныеКасса.ВалютаДенежныхСредств;
					}
				}
				if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.ФормаОплаты)*/)
				{
					//ДокументОбъект.ФормаОплаты=Перечисления.ВидыДенежныхСредств.Наличные;
				}
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Касса") <> Неопределено
		И (НЕ ЗначениеЗаполнено(ДокументОбъект.Касса))*/)
			{
				//СписокПолей = новый СписокЗначений;
				//СписокПолей.Добавить("ВалютаДенежныхСредств");
				//ДанныеКасса =  УправлениеПользователями.ПолучитьЗначениеПоУмолчаниюПользователя(ТекПользователь, "ОсновнаяКасса", СписокПолей);
				//КассаПоУмолчанию=ДанныеКасса.Значение;
				if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.ВалютаДокумента)*/)
				{
					//ДокументОбъект.Касса = КассаПоУмолчанию;
					//ДокументОбъект.ВалютаДокумента = ДанныеКасса.ВалютаДенежныхСредств;
				}
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("КассаККМ") <> Неопределено
	   И (НЕ ЗначениеЗаполнено(ДокументОбъект.КассаККМ))*/)
			{
				//ДокументОбъект.КассаККМ = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОсновнаяКассаККМ");
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("СчетОрганизации") <> Неопределено
		И НЕ ЗначениеЗаполнено(ДокументОбъект.СчетОрганизации)
		И (ЗначениеЗаполнено(ДокументОбъект.Организация))*/)
			{
				//СчетПоУмолчанию=ДанныеОрганизация.ОсновнойБанковскийСчет;
				if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.ВалютаДокумента)*/)
				{
					//ДокументОбъект.СчетОрганизации =  СчетПоУмолчанию;
					//ДокументОбъект.ВалютаДокумента =  ДанныеОрганизация.ОсновнойБанковскийСчетВалютаДенежныхСредств;
				}
			}
			//ПараметрДвижения=ОпределитьПараметрыВыбораСделки(ДокументОбъект.ВидОперации);
			//ЕстьРасчетыСКонтрагентами=ЕстьРасчетыСКонтрагентами(ДокументОбъект.ВидОперации);
			//ЕстьРасчетыПоКредитам=ЕстьРасчетыПоКредитам(ДокументОбъект.ВидОперации);
			//ДокументОбъект.ЕстьРасчетыСКонтрагентами=ЕстьРасчетыСКонтрагентами;
			//ДокументОбъект.ЕстьРасчетыПоКредитам=ЕстьРасчетыПоКредитам;
			if(true/*ЕстьРасчетыСКонтрагентами ИЛИ ЕстьРасчетыПоКредитам*/)
			{
				//флВыполнитьЗаполнениеСтруктуры = ложь;
				//СписокПолей = новый СписокЗначений;
				//СписокПолей.Добавить("ОсновнойДоговорКонтрагента");
				//СписокПолей.Добавить("ОсновнойБанковскийСчет");
				//СписокПолей.Добавить("ОсновнойБанковскийСчет.ВалютаДенежныхСредств", "ОсновнойБанковскийСчетВалютаДенежныхСредств");
				//СписокПолей.Добавить("ОсновнойДоговорКонтрагента.Организация", "ОсновнойДоговорКонтрагентаОрганизация");
				//СписокПолей.Добавить("ОсновнойДоговорКонтрагента.ВидДоговора", "ОсновнойДоговорКонтрагентаВидДоговора");
				//СписокПолей.Добавить("ОсновнойДоговорКонтрагента.ВалютаВзаиморасчетов", "ОсновнойДоговорКонтрагентаВалютаВзаиморасчетов");
				//СписокПолей.Добавить("ОсновнойДоговорКонтрагента.ТипЦен", "ОсновнойДоговорКонтрагентаТипЦен");
				//СписокПолей.Добавить("ОсновноеКонтактноеЛицо");
				if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.Контрагент)*/)
				{
					if(true/*ПараметрДвижения.ВидДвиженияРасчеты="Приход"*/)
					{
						/*// Приход по регистру "ВзаиморасчетыСКонтрагентами"
*/
						//ДанныеКонтрагент = УправлениеПользователями.ПолучитьЗначениеПоУмолчаниюПользователя(ТекПользователь, "ОсновнойПоставщик", СписокПолей);
						//ДокументОбъект.Контрагент = ДанныеКонтрагент.Значение;
					}
				}
				if(true/*флВыполнитьЗаполнениеСтруктуры*/)
				{
					/*ДанныеКонтрагент = Новый Структура(
				"ОсновнойДоговорКонтрагента, ОсновнойБанковскийСчет, ОсновнойБанковскийСчетВалютаДенежныхСредств, 
				|ОсновнойДоговорКонтрагентаОрганизация, ОсновнойДоговорКонтрагентаВидДоговора, 
				|ОсновнойДоговорКонтрагентаВалютаВзаиморасчетов, ОсновнойДоговорКонтрагентаТипЦен, ОсновноеКонтактноеЛицо");*/
					//ДанныеКонтрагент.Вставить("Значение", текКонтрагент);
					/*Запрос = Новый Запрос(
			"ВЫБРАТЬ РАЗРЕШЕННЫЕ
			|	Спр.ОсновнойДоговорКонтрагента,
			|	Спр.ОсновнойБанковскийСчет,
			|	Спр.ОсновнойБанковскийСчет.ВалютаДенежныхСредств КАК ОсновнойБанковскийСчетВалютаДенежныхСредств,
			|	Спр.ОсновнойДоговорКонтрагента.Организация КАК ОсновнойДоговорКонтрагентаОрганизация,
			|	Спр.ОсновнойДоговорКонтрагента.ВидДоговора КАК ОсновнойДоговорКонтрагентаВидДоговора,
			|	Спр.ОсновнойДоговорКонтрагента.ВалютаВзаиморасчетов КАК ОсновнойДоговорКонтрагентаВалютаВзаиморасчетов,
			|	Спр.ОсновнойДоговорКонтрагента.ТипЦен КАК ОсновнойДоговорКонтрагентаТипЦен,
			|	Спр.ОсновноеКонтактноеЛицо
			|ИЗ
			|	Справочник.Контрагенты КАК Спр
			|ГДЕ
			|	Спр.Ссылка = &ТекКонтрагент");*/
					//Запрос.УстановитьПараметр("ТекКонтрагент", ТекКонтрагент);
					//Результат = Запрос.Выполнить();
					if(true/*НЕ Результат.Пустой()*/)
					{
						/*// Пустой результат возможен из-за RLS
*/
						//Выборка = Результат.Выбрать();
						//Выборка.Следующий();
						//ЗаполнитьЗначенияСвойств(ДанныеКонтрагент, Выборка);
					}
				}
				if(true/*МетаданныеДокумента.Реквизиты.Найти("СчетКонтрагента") <> Неопределено
			И НЕ ЗначениеЗаполнено(ДокументОбъект.СчетКонтрагента)
			И ЗначениеЗаполнено(ДанныеКонтрагент.ОсновнойБанковскийСчет) 
			И ДанныеКонтрагент.ОсновнойБанковскийСчетВалютаДенежныхСредств=ДанныеОрганизация.ОсновнойБанковскийСчетВалютаДенежныхСредств*/)
				{
					//ДокументОбъект.СчетКонтрагента          = ДанныеКонтрагент.ОсновнойБанковскийСчет;
				}
				if(true/*ЗначениеЗаполнено(ДокументОбъект.Контрагент)*/)
				{
					//ПустаяОрганизацияДокумента = НЕ ЗначениеЗаполнено(ДокументОбъект.Организация);
					//ПустаяОрганизацияДоговора  = НЕ ЗначениеЗаполнено(ДанныеКонтрагент.ОсновнойДоговорКонтрагентаОрганизация);
				}
				if(true/*МетаданныеДокумента.Реквизиты.Найти("ВалютаДокумента") <> Неопределено
			И (НЕ ЗначениеЗаполнено(ДокументОбъект.ВалютаДокумента))*/)
				{
					//ДокументОбъект.ВалютаДокумента = ДанныеКонтрагент.ОсновнойДоговорКонтрагентаВалютаВзаиморасчетов;
				}
			}
			/*// Контрагент
*/
			if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.ВалютаДокумента)*/)
			{
				//ДокументОбъект.ВалютаДокумента = ВалютаРегламентированногоУчета;
			}
			if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.КурсДокумента)*/)
			{
				//СтруктураКурсаДокумента      = МодульВалютногоУчета.ПолучитьКурсВалюты(ДокументОбъект.ВалютаДокумента, ДокументОбъект.Дата);
				//ДокументОбъект.КурсДокумента = СтруктураКурсаДокумента.Курс;
				//ДокументОбъект.КратностьДокумента = СтруктураКурсаДокумента.Кратность;
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ДатаОплаты") <> Неопределено
	   И (НЕ ЗначениеЗаполнено(ДокументОбъект.ДатаОплаты))*/)
			{
				//ДокументОбъект.ДатаОплаты = ДокументОбъект.Дата;
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ЧастичнаяОплата") <> Неопределено*/)
			{
				//ДокументОбъект.ЧастичнаяОплата = Ложь;
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ДатаРасхода") <> Неопределено И (НЕ ЗначениеЗаполнено(ДокументОбъект.ДатаРасхода))*/)
			{
				//ДокументОбъект.ДатаРасхода = ОбщегоНазначения.ПолучитьРабочуюДату();
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ДатаПоступления") <> Неопределено И (НЕ ЗначениеЗаполнено(ДокументОбъект.ДатаПоступления))*/)
			{
				//ДокументОбъект.ДатаПоступления =ОбщегоНазначения.ПолучитьРабочуюДату();
			}
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Состояние") <> Неопределено И (НЕ ЗначениеЗаполнено(ДокументОбъект.Состояние))*/)
			{
				//ДокументОбъект.Состояние = Перечисления.СостоянияОбъектов.Подготовлен;
			}
			//СтруктураПараметров=Новый Структура;
			//СтруктураПараметров.Вставить("МетаданныеДокумента",МетаданныеДокумента);
			//СтруктураПараметров.Вставить("ЕстьРасчетыСКонтрагентами",ЕстьРасчетыСКонтрагентами);
			//СтруктураПараметров.Вставить("ЕстьРасчетыПоКредитам",ЕстьРасчетыПоКредитам);
			//ЗаполнитьСчетаУчетаПлатежейБУ(ДокументОбъект,ТекПользователь,ЛОЖЬ,СтруктураПараметров);
		}
		// ЗаполнитьРеквизитыРасчетногоДокумента()

		public void ЗаполнитьРасшифровкуПлатежей(/*СтруктураПараметров*/)
		{
			if(true/*СтруктураПараметров.Организация.Пустая()*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Не указана организация.");
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураПараметров.Контрагент)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Не указан контрагент.");
			}
			//ОбработкаОбъект=Обработки.ПодборПараметровРасшифровкиПлатежа.Создать();
			//ОбработкаОбъект.КурсДокумента				=СтруктураПараметров.КурсДокумента;
			//ОбработкаОбъект.КратностьДокумента			=СтруктураПараметров.КратностьДокумента;
			//ОбработкаОбъект.ТипЗадолженности			=СтруктураПараметров.ТипЗадолженности;
			//ОбработкаОбъект.Контрагент					=СтруктураПараметров.Контрагент;
			//ОбработкаОбъект.ФормаОплаты					=СтруктураПараметров.ФормаОплаты;
			//ОбработкаОбъект.ИмяРегистраПлан				=СтруктураПараметров.ИмяРегистраПлан;
			//ОбработкаОбъект.ВидОперацииПлан				=СтруктураПараметров.ВидОперацииПлан;
			//ОбработкаОбъект.БанковскийСчетКасса			=СтруктураПараметров.БанковскийСчетКасса;
			//ОбработкаОбъект.Организация					=СтруктураПараметров.Организация;
			//ОбработкаОбъект.ВалютаДокумента				=СтруктураПараметров.ВалютаДокумента;
			//ОбработкаОбъект.ДатаДок						=СтруктураПараметров.ДатаДок;
			//ОбработкаОбъект.ВидОперацииДок				=СтруктураПараметров.ВидОперацииДок;
			//ОбработкаОбъект.РасшифровкаПлатежаДок		=СтруктураПараметров.РасшифровкаПлатежа;
			//ОбработкаОбъект.СуммаДляПодбора				=СтруктураПараметров.СуммаДокумента;
			//ОбработкаОбъект.ПлатежПоСуммеВзаиморасчетов	=СтруктураПараметров.ПлатежПоСуммеВзаиморасчетов;
			//СтруктураПараметров.Свойство("СсылкаНаДокумент", ОбработкаОбъект.ДокументСсылка);
			//СтруктураПараметров.Свойство("ОтражатьВБухгалтерскомУчете", ОбработкаОбъект.ОтражатьВБухгалтерскомУчете);
			//ОбработкаОбъект.ЕстьПодбор					=Ложь;
			if(true/*СтруктураПараметров.Интерактивно*/)
			{
				//ТекстВидОперации=СтруктураПараметров.ВидОперацииДок.Метаданные().Имя;
				if(true/*ТекстВидОперации="ВидыОперацийЗаявкиНаРасходование"
			ИЛИ ТекстВидОперации="ВидыОперацийПланируемоеПоступлениеДС"*/)
				{
					//ФормаНастройки=ОбработкаОбъект.ПолучитьФорму("ПараметрыЗаполненияПлан");
				}
				//ФормаНастройки.ОткрытьМодально();
			}
		}

		public void ПодборЗадолженностей(/*СтруктураПараметров*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(СтруктураПараметров.Контрагент)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Не указан контрагент.");
			}
			/*// Открываем форму подбора.
*/
			//ОбработкаОбъект=Обработки.ПодборПараметровРасшифровкиПлатежа.Создать();
			//ОбработкаОбъект.ДокументСсылка					=СтруктураПараметров.ДокументСсылка;
			//ОбработкаОбъект.КурсДокумента					=СтруктураПараметров.КурсДокумента;
			//ОбработкаОбъект.КратностьДокумента				=СтруктураПараметров.КратностьДокумента;
			//ОбработкаОбъект.ТипЗадолженности				=СтруктураПараметров.ТипЗадолженности;
			//ОбработкаОбъект.Контрагент						=СтруктураПараметров.Контрагент;
			//ОбработкаОбъект.ФормаОплаты						=СтруктураПараметров.ФормаОплаты;
			//ОбработкаОбъект.ИмяРегистраПлан					=СтруктураПараметров.ИмяРегистраПлан;
			//ОбработкаОбъект.ВидОперацииПлан					=СтруктураПараметров.ВидОперацииПлан;
			//ОбработкаОбъект.БанковскийСчетКасса				=СтруктураПараметров.БанковскийСчетКасса;
			//ОбработкаОбъект.Проект							=СтруктураПараметров.Проект;
			//ОбработкаОбъект.СтатьяДвиженияДенежныхСредств	=СтруктураПараметров.СтатьяДвиженияДенежныхСредств;
			//ОбработкаОбъект.Организация						=СтруктураПараметров.Организация;
			//ОбработкаОбъект.ВалютаДокумента					=СтруктураПараметров.ВалютаДокумента;
			//ОбработкаОбъект.ДатаДок							=СтруктураПараметров.ДатаДок;
			//ОбработкаОбъект.ВидОперацииДок					=СтруктураПараметров.ВидОперацииДок;
			//ОбработкаОбъект.СуммаДляПодбора					=СтруктураПараметров.СуммаДокумента;
			//ОбработкаОбъект.РасшифровкаПлатежаДок			=СтруктураПараметров.РасшифровкаПлатежаДок;
			//ОбработкаОбъект.ПлатежПоСуммеВзаиморасчетов		=СтруктураПараметров.ПлатежПоСуммеВзаиморасчетов;
			//ОбработкаОбъект.ОтражатьВБухгалтерскомУчете		=СтруктураПараметров.ОтражатьВБухгалтерскомУчете;
			//ОбработкаОбъект.ЕстьПодбор						= НЕ СтруктураПараметров.ЗакрыватьПриВыборе;
			//ФормаПодбора = ОбработкаОбъект.ПолучитьФорму("ФормаПодбораЗадолженностей", СтруктураПараметров.ФормаДокумента, "ФормаПодбораЗадолженностейДляПлатежа");
			//ФормаПодбора.РежимВыбора=Истина;
			//ФормаПодбора.ЗакрыватьПриВыборе=СтруктураПараметров.ЗакрыватьПриВыборе;
			//ФормаПодбора.ОткрытьМодально();
		}

		public void ПодборДокументовПланирования(/*СтруктураПараметров*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(СтруктураПараметров.ФормаОплаты)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Не указана форма оплаты.");
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураПараметров.ВалютаДокумента)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Не указана валюта документа.");
			}
			/*// Открываем форму подбора.
*/
			//ОбработкаОбъект=Обработки.ПодборПараметровРасшифровкиПлатежа.Создать();
			//СтруктураПараметров.Свойство("ФормаОплаты",ОбработкаОбъект.ФормаОплаты);
			//СтруктураПараметров.Свойство("ВалютаДокумента",ОбработкаОбъект.ВалютаДокумента);
			//СтруктураПараметров.Свойство("КурсДокумента",ОбработкаОбъект.КурсДокумента);
			//СтруктураПараметров.Свойство("КратностьДокумента",ОбработкаОбъект.КратностьДокумента);
			//СтруктураПараметров.Свойство("ДатаДок",ОбработкаОбъект.ДатаДок);
			//СтруктураПараметров.Свойство("ИмяРегистра",ОбработкаОбъект.ИмяРегистраПлан);
			//СтруктураПараметров.Свойство("СуммаДокумента",ОбработкаОбъект.СуммаДляПодбора);
			//СтруктураПараметров.Свойство("ВидОперации",ОбработкаОбъект.ВидОперацииПлан);
			//СтруктураПараметров.Свойство("БанковскийСчетКасса",ОбработкаОбъект.БанковскийСчетКасса);
			//СтруктураПараметров.Свойство("Организация",ОбработкаОбъект.Организация);
			//СтруктураПараметров.Свойство("Проект",ОбработкаОбъект.Проект);
			//СтруктураПараметров.Свойство("СтатьяДвиженияДенежныхСредств",ОбработкаОбъект.СтатьяДвиженияДенежныхСредств);
			//СтруктураПараметров.Свойство("Контрагент",ОбработкаОбъект.Контрагент);
			//СтруктураПараметров.Свойство("ДоговорКонтрагента",ОбработкаОбъект.ДоговорКонтрагента);
			//СтруктураПараметров.Свойство("Сделка",ОбработкаОбъект.Сделка);
			//СтруктураПараметров.Свойство("ДокументРасчетовСКонтрагентом",ОбработкаОбъект.ДокументРасчетовСКонтрагентом);
			//СтруктураПараметров.Свойство("ПлатежПоСуммеВзаиморасчетов",ОбработкаОбъект.ПлатежПоСуммеВзаиморасчетов);
			//СтруктураПараметров.Свойство("РасшифровкаПлатежаДок",ОбработкаОбъект.РасшифровкаПлатежаДок);
			//СтруктураПараметров.Свойство("ОтражатьВБухгалтерскомУчете",ОбработкаОбъект.ОтражатьВБухгалтерскомУчете);
			//СтруктураПараметров.Свойство("ВалютаДокумента",ОбработкаОбъект.ВалютаДокумента);
			//СтруктураПараметров.Свойство("ДокументСсылка",ОбработкаОбъект.ДокументСсылка);
			//ОбработкаОбъект.ЕстьПодбор = НЕ СтруктураПараметров.ЗакрыватьПриВыборе;
			if(true/*СтруктураПараметров.Свойство("МножественныйВыбор")*/)
			{
				//МножественныйВыбор= СтруктураПараметров.МножественныйВыбор;
			}
			//ОбработкаОбъект.МножественныйВыбор=МножественныйВыбор;
			//ФормаПодбора = ОбработкаОбъект.ПолучитьФорму("ФормаПодбораПланируемыхДвижений", СтруктураПараметров.ФормаДокумента, "ФормаПодбораПланируемыхПлатежей");
			//ФормаПодбора.РежимВыбора=Истина;
			//ФормаПодбора.ЗакрыватьПриВыборе=СтруктураПараметров.ЗакрыватьПриВыборе;
			//ФормаПодбора.ОткрытьМодально();
		}

		public void ПроверкаРасшифровкиПлатежногоДокументаПередЗаписью(/*Документ, Отказ, РежимЗаписи, РежимПроведения*/)
		{
			if(true/*(РежимЗаписи = РежимЗаписиДокумента.Запись ИЛИ РежимЗаписи = РежимЗаписиДокумента.Проведение)
		И (Документ.ЕстьРасчетыСКонтрагентами ИЛИ Документ.ЕстьРасчетыПоКредитам)
		И НЕ Документ.РасшифровкаПлатежа.Итог("СуммаПлатежа") = Документ.СуммаДокумента*/)
			{
				/*Ответ = Вопрос("Не совпадают сумма документа ("+Документ.СуммаДокумента+") и ее расшифровка ("+Документ.РасшифровкаПлатежа.Итог("СуммаПлатежа")+"). Пересчитать сумму документа?",
				РежимДиалогаВопрос.ДаНет,
				,
				КодВозвратаДиалога.Да);*/
				if(true/*Ответ = КодВозвратаДиалога.Да*/)
				{
					//Документ.СуммаДокумента = Документ.РасшифровкаПлатежа.Итог("СуммаПлатежа");
				}
			}
		}
		// ПроверкаРасшифровкиПлатежногоДокументаПередЗаписью(Документ, Отказ, РежимЗапси, РежимПроведения)
		// Устанавливает текст надписи сделки на форме документа
		//
		// Параметры:
		//  ДокументОбъект - объект документа,
		//  ФормаДокумента - форма документа.
		// ЗаказПокупателя - признак заказа покупателю/поставщику
		//

		public void УстановитьНадписьСделкиПлатеж(/*СтрокаПлатеж, ФормаДокумента, ВидОперации*/)
		{
			//НадписьСделка = "Сделка:";
			//ДоговорКонтрагента = СтрокаПлатеж.ДоговорКонтрагента;
			//ТипЗаказа=ОпределитьПараметрыВыбораСделки(ВидОперации).ТипЗаказа;
			if(true/*Не (НЕ ЗначениеЗаполнено(ДоговорКонтрагента) ИЛИ ТипЗаказа="Прочие")*/)
			{
				if(true/*ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
		      Или ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам*/)
				{
					//НадписьСделка = "Заказ "+?(ТипЗаказа="ЗаказПокупателя","покупателя:", "поставщику:");
				}
			}
			//ФормаДокумента.ЭлементыФормы.НадписьСделка.Заголовок = НадписьСделка;
		}
		// РаботаСДиалогами.УстановитьНадписьСделки()
		// Стандартная отработка события изменения контрагента в платежных документах
		//
		// Параметры
		//   ДокументОбъект – ДокументОбъект – Документ, у которого изменился контрагент
		//

		public void ПриИзмененииКонтрагентаВПлатежномДокументе(/*ДокументОбъект, СтрокаПлатеж*/)
		{
			//ВосстанавливатьРеквизиты = (ДокументОбъект.РасшифровкаПлатежа.Количество() = 1);
			//СтараяСтатьяДДС = СтрокаПлатеж.СтатьяДвиженияДенежныхСредств;
			//СтараяСтавкаНДС = СтрокаПлатеж.СтавкаНДС;
			//Проект = СтрокаПлатеж.Проект;
			//ДокументОбъект.РасшифровкаПлатежа.Очистить();
			//СтрокаПлатеж = ДокументОбъект.РасшифровкаПлатежа.Добавить();
			if(true/*НЕ ЗначениеЗаполнено(ДокументОбъект.Контрагент)*/)
			{
				//СтрокаПлатеж.ДоговорКонтрагента = Неопределено;
			}
			//СтрокаПлатеж.СуммаПлатежа = ДокументОбъект.СуммаДокумента;
			if(true/*ВосстанавливатьРеквизиты*/)
			{
				//СтрокаПлатеж.СтатьяДвиженияДенежныхСредств = СтараяСтатьяДДС;
				//СтрокаПлатеж.СтавкаНДС = СтараяСтавкаНДС;
				//СтрокаПлатеж.Проект = Проект;
				//ПересчитатьСуммуНДС(СтрокаПлатеж);
			}
		}
		// ПриИзмененииКонтрагентаВПлатежномДокументе()
		// Открытие списка файлов, присоединенных к документу

		public void ОткрытьСписокФайловЗаявки(/*ДокСсылка, ФормаРодителя*/)
		{
			//ФормаФайлов = Справочники.ХранилищеДополнительнойИнформации.ПолучитьФорму("ФормаСпискаФайловИИзображений", ФормаРодителя);
			//ФормаФайлов.Изображения.Отбор.Объект.Использование                               = Истина;
			//ФормаФайлов.Изображения.Отбор.Объект.Значение                                    = ДокСсылка;
			//ФормаФайлов.ЭлементыФормы.Изображения.НастройкаОтбора.Объект.Доступность         = Ложь;
			//ФормаФайлов.ЭлементыФормы.Изображения.Колонки.Объект.Видимость                   = Ложь;
			//ФормаФайлов.ДополнительныеФайлы.Отбор.Объект.Использование                       = Истина;
			//ФормаФайлов.ДополнительныеФайлы.Отбор.Объект.Значение                            = ДокСсылка;
			//ФормаФайлов.ЭлементыФормы.ДополнительныеФайлы.НастройкаОтбора.Объект.Доступность = Ложь;
			//ФормаФайлов.ЭлементыФормы.ДополнительныеФайлы.Колонки.Объект.Видимость           = Ложь;
			//ОбязательныеОтборы = Новый Структура;
			//ОбязательныеОтборы.Вставить("Объект",ДокСсылка);
			//ФормаФайлов.ОбязательныеОтборы = ОбязательныеОтборы;
			//ФормаФайлов.Открыть();
		}
		// ОткрытьСписокФайловЗаявки(ДокСсылка)
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ ДОКУМЕНТОВ ПОДСИСТЕМЫ ДЕНЕЖНЫХ СРЕДСТВ

		public void ПровестиСписаниеДенежныхСредствУпр(/*СтруктураШапкиДокумента, СтруктураПараметров, ТаблицаПлатежейУпр, Движения, Отказ, Заголовок*/)
		{
			//РасчетыВозврат    = СтруктураПараметров.РасчетыВозврат;
			//КоэффициентСторно = ?(РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат, -1, 1);
			//РасчетыСКонтрагентами = СтруктураПараметров.ЕстьРасчетыСКонтрагентами ИЛИ СтруктураПараметров.ЕстьРасчетыПоКредитам;
			//ОтраженоВОперУчете    = СтруктураШапкиДокумента.ОтраженоВОперУчете;
			//Оплачено              = СтруктураШапкиДокумента.Оплачено;
			//Дата         = СтруктураШапкиДокумента.Дата;
			//ДатаДвижений = СтруктураПараметров.ДатаДвижений;
			//Организация         = СтруктураШапкиДокумента.Организация;
			//ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредств;
			//СуммаДокумента      = СтруктураШапкиДокумента.СуммаДокумента;
			//ВалютаДокумента     = СтруктураШапкиДокумента.ВалютаДокумента;
			//Ссылка              = СтруктураШапкиДокумента.Ссылка;
			//БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКасса;
			//ВидОперации         = СтруктураШапкиДокумента.ВидОперации;
			//Контрагент          = СтруктураШапкиДокумента.Контрагент;
			/*ПоОбъявлениюНаВзносНаличными = СтруктураПараметров.Свойство("ПоОбъявлениюНаВзносНаличными") 
		И СтруктураПараметров.ПоОбъявлениюНаВзносНаличными;*/
			/*ПоРасчетномуДокументу = СтруктураПараметров.Свойство("ПоРасчетномуДокументу") 
		И СтруктураПараметров.ПоРасчетномуДокументу;*/
			//ДвиженияПоСтатьям      = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоЗаявкам      = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоРезерву      = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоКонтрагентам = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоЗаявкам.Свернуть("ДокументПланированияПлатежа,ВключатьВПлатежныйКалендарь,ДоговорКонтрагента,ВедениеВзаиморасчетов,ВестиПоДокументамРасчетовСКонтрагентом,Сделка,ДокументРасчетовСКонтрагентом,СтатьяДвиженияДенежныхСредств,Проект","СуммаПлатежа,СуммаВзаиморасчетов,СуммаПлатежаПлан,СуммаУпр");
			if(true/*РасчетыСКонтрагентами*/)
			{
				//ДвиженияПоКонтрагентам.Свернуть("ДоговорКонтрагента,ВедениеВзаиморасчетов,ВестиПоДокументамРасчетовСКонтрагентом,Сделка,ДокументРасчетовСКонтрагентом,ВидДоговора, КонтролироватьДенежныеСредстваКомитента,Проект","СуммаВзаиморасчетов,СуммаУпр,СуммаРегл,СуммаВзаиморасчетовОстаток,СуммаУпрОстаток");
			}
			//ДвиженияПоСтатьям.Свернуть("СтатьяДвиженияДенежныхСредств","СуммаПлатежа,СуммаУпр");
			//ДвиженияПоРезерву.Свернуть("ДокументПланированияПлатежа","СуммаПлатежаПлан");
			if(true/*ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям*/)
			{
				//Запрос = Новый Запрос;
				/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	РКОВыплатаЗаработнойПлаты.Ведомость,
		|	РКОВыплатаЗаработнойПлаты.СуммаПлатежа,
		|	РКОВыплатаЗаработнойПлаты.СтатьяДвиженияДенежныхСредств
		|ИЗ
		|	Документ.РасходныйКассовыйОрдер.ВыплатаЗаработнойПлаты КАК РКОВыплатаЗаработнойПлаты
		|ГДЕ
		|	РКОВыплатаЗаработнойПлаты.Ссылка = &Ссылка";*/
				//Запрос.УстановитьПараметр("Ссылка", Ссылка);
				//ВыплатаЗаработнойПлаты = Запрос.Выполнить().Выгрузить();
				//МассивВедомостей = ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(ВыплатаЗаработнойПлаты.ВыгрузитьКолонку("Ведомость"));
			}
			if(true/*Оплачено*/)
			{
				//ТаблицаДенежныеСредства          = Движения.ДенежныеСредства.ВыгрузитьКолонки();
				//ТаблицаДенежныеСредстваКСписанию = Движения.ДенежныеСредстваКСписанию.ВыгрузитьКолонки();
				/*// По регистру "Денежные средства" - расход
*/
				//СтрокаКурсыВалют = ТаблицаПлатежейУпр[0];
				/*СуммаУпр = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
			СуммаДокумента, 
			ВалютаДокумента, глЗначениеПеременной("ВалютаУправленческогоУчета"), 
			СтрокаКурсыВалют.КурсДокумента, СтрокаКурсыВалют.КурсУпрУчета, 
			СтрокаКурсыВалют.КратностьДокумента, СтрокаКурсыВалют.КратностьУпрУчета);*/
				//СтрокаДвиженийОстатки = ТаблицаДенежныеСредства.Добавить();
				//СтрокаДвиженийОстатки.БанковскийСчетКасса = БанковскийСчетКасса;
				//СтрокаДвиженийОстатки.Организация 		  = Организация;
				//СтрокаДвиженийОстатки.ВидДенежныхСредств  = ВидДенежныхСредств;
				//СтрокаДвиженийОстатки.Сумма               = СуммаДокумента;
				//СтрокаДвиженийОстатки.СуммаУпр            = СуммаУпр;
				/*// По регистру "Денежные средства к списанию" - расход
*/
				if(true/*НЕ ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям*/)
				{
				}
				//Движения.ДенежныеСредства.мПериод          = ДатаДвижений;
				//Движения.ДенежныеСредства.мТаблицаДвижений = ТаблицаДенежныеСредства;
				//Движения.ДенежныеСредства.ВыполнитьРасход();
				//Движения.ДенежныеСредстваКСписанию.мПериод          = ДатаДвижений;
				//Движения.ДенежныеСредстваКСписанию.мТаблицаДвижений = ТаблицаДенежныеСредстваКСписанию;
				//Движения.ДенежныеСредстваКСписанию.ВыполнитьРасход();
				if(true/*ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет 
			ИЛИ ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет
			ИЛИ (ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк И НЕ ПоОбъявлениюНаВзносНаличными)*/)
				{
					/*// По регистру "Денежные средства" - приход
*/
					//ТаблицаДенежныеСредства.Очистить();
					//СтрокаДвиженийОстатки = ТаблицаДенежныеСредства.Добавить();
					//СтрокаДвиженийОстатки.БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКассаПолучатель;
					//СтрокаДвиженийОстатки.Организация 		  = Организация;
					//СтрокаДвиженийОстатки.ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредствПолучатель;
					//СтрокаДвиженийОстатки.Сумма               = СуммаДокумента;
					//СтрокаДвиженийОстатки.СуммаУпр            = СуммаУпр;
					//Движения.ДенежныеСредства.мПериод          = ДатаДвижений;
					//Движения.ДенежныеСредства.мТаблицаДвижений = ТаблицаДенежныеСредства;
					//Движения.ДенежныеСредства.ВыполнитьПриход();
					/*// По регистру "Денежные средства к получению" - расход
*/
					//ТаблицаДенежныеСредстваКПолучению = Движения.ДенежныеСредстваКПолучению.ВыгрузитьКолонки();
					//Движения.ДенежныеСредстваКПолучению.мПериод          = ДатаДвижений;
					//Движения.ДенежныеСредстваКПолучению.мТаблицаДвижений = ТаблицаДенежныеСредстваКПолучению;
					//Движения.ДенежныеСредстваКПолучению.ВыполнитьРасход();
				}
			}
			if(true/*ОтраженоВОперУчете И НЕ ПоРасчетномуДокументу И НЕ ПоОбъявлениюНаВзносНаличными*/)
			{
				/*// По регистру "Денежные средства к списанию" - приход
*/
				//ТаблицаДенежныеСредстваКСписанию = Движения.ДенежныеСредстваКСписанию.ВыгрузитьКолонки();
				if(true/*НЕ ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям*/)
				{
					//Движения.ДенежныеСредстваКСписанию.мПериод          = ?(Оплачено, Мин(ДатаДвижений, Дата), Дата);
					//Движения.ДенежныеСредстваКСписанию.мТаблицаДвижений = ТаблицаДенежныеСредстваКСписанию;
					//Движения.ДенежныеСредстваКСписанию.ВыполнитьПриход();
				}
				if(true/*ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет
			ИЛИ ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет
			ИЛИ ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк*/)
				{
					/*// По регистру "Денежные средства к получению" - приход
*/
					//ТаблицаДенежныеСредстваКПолучению = Движения.ДенежныеСредстваКПолучению.ВыгрузитьКолонки();
					//Движения.ДенежныеСредстваКПолучению.мПериод          = ?(Оплачено, Мин(ДатаДвижений,Дата), Дата);
					//Движения.ДенежныеСредстваКПолучению.мТаблицаДвижений = ТаблицаДенежныеСредстваКПолучению;
					//Движения.ДенежныеСредстваКПолучению.ВыполнитьПриход();
				}
				//ЕстьРезерв     = Ложь;
				//ЕстьРазмещение = Ложь;
				/*// По регистру "Денежные средства в резерве" - расход
*/
				//ТаблицаДенежныеСредстваВРезерве = Движения.ДенежныеСредстваВРезерве.ВыгрузитьКолонки();
				/*// По регистру "Размещение заявок на расходование средств" - расход
*/
				//ТаблицаРазмещениеЗаявокНаРасходованиеСредств = Движения.РазмещениеЗаявокНаРасходованиеСредств.ВыгрузитьКолонки();
				/*// По регистру "Заявки на расходование средств" - расход
*/
				//ТаблицаЗаявкиНаРасходованиеСредств = Движения.ЗаявкиНаРасходованиеСредств.ВыгрузитьКолонки();
				/*// Проверим необходимость списания суммы платежного поручения по заявкам из регистра "ДенежныеСредстваРезерв"
*/
				if(true/*ЕстьРезерв*/)
				{
					//Движения.ДенежныеСредстваВРезерве.мПериод          = Дата;
					//Движения.ДенежныеСредстваВРезерве.мТаблицаДвижений = ТаблицаДенежныеСредстваВРезерве;
					//Движения.ДенежныеСредстваВРезерве.ВыполнитьРасход();
				}
				if(true/*ЕстьРазмещение*/)
				{
					//Движения.РазмещениеЗаявокНаРасходованиеСредств.мПериод          = Дата;
					//Движения.РазмещениеЗаявокНаРасходованиеСредств.мТаблицаДвижений = ТаблицаРазмещениеЗаявокНаРасходованиеСредств;
					//Движения.РазмещениеЗаявокНаРасходованиеСредств.ВыполнитьРасход();
				}
				/*// По регистру ""Расчеты с контрагентами"" - расход при возврате, иначе приход
*/
				//ТаблицаРасчетыСКонтрагентами = Движения.РасчетыСКонтрагентами.ВыгрузитьКолонки();
				if(true/*ТаблицаЗаявкиНаРасходованиеСредств.Количество() > 0*/)
				{
					//Движения.ЗаявкиНаРасходованиеСредств.мПериод          = Дата;
					//Движения.ЗаявкиНаРасходованиеСредств.мТаблицаДвижений = ТаблицаЗаявкиНаРасходованиеСредств;
					//Движения.ЗаявкиНаРасходованиеСредств.ВыполнитьРасход();
				}
				if(true/*ТаблицаРасчетыСКонтрагентами.Количество() > 0*/)
				{
					//Движения.РасчетыСКонтрагентами.мТаблицаДвижений	= ТаблицаРасчетыСКонтрагентами;
					//Движения.РасчетыСКонтрагентами.ВыполнитьДвижения();
				}
			}
			if(true/*Оплачено И (ОтраженоВОперУчете ИЛИ ПоРасчетномуДокументу)*/)
			{
				/*// Проводим по фактическим взаиморасчетам
*/
				/*// По регистру "Движения денежных средств"
*/
				//ТаблицаДвиженияДенежныхСредств = Движения.ДвиженияДенежныхСредств.ВыгрузитьКолонки();
				//ДвиженияДенежныхСредств = ТаблицаПлатежейУпр.Скопировать();
				if(true/*СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
				{
					//ДвиженияДенежныхСредств.Свернуть("ДокументПланированияПлатежа,ДоговорКонтрагента,Сделка,ДокументРасчетовСКонтрагентом,ВестиПоДокументамРасчетовСКонтрагентом,СтатьяДвиженияДенежныхСредств,Проект", "СуммаПлатежа,СуммаУпр");
					//ДвиженияДенежныхСредств.Колонки["СуммаПлатежа"].Имя = "Сумма";
					//УправлениеПроектами.ОтразитьДвиженияПоПроектам(ДвиженияДенежныхСредств, ТаблицаДвиженияДенежныхСредств, Неопределено, ДатаДвижений, "ДенежныеСредстваСписание", Ссылка);
				}
				/*// Недостающие поля.
*/
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(ВидДенежныхСредств, "ВидДенежныхСредств");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Перечисления.ВидыДвиженийПриходРасход.Расход, "ПриходРасход");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(БанковскийСчетКасса, "БанковскийСчетКасса");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация, "Организация");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Ссылка, "ДокументДвижения");
				if(true/*ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет 
			ИЛИ ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет
			ИЛИ (ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк И НЕ ПоОбъявлениюНаВзносНаличными)*/)
				{
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация, "Контрагент");
				}
				//Движения.ДвиженияДенежныхСредств.мПериод          = ДатаДвижений;
				//Движения.ДвиженияДенежныхСредств.мТаблицаДвижений = ТаблицаДвиженияДенежныхСредств;
				//Движения.ДвиженияДенежныхСредств.ВыполнитьДвижения();
				if(true/*ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет
			ИЛИ ВидОперации = Перечисления.ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет
			ИЛИ (ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк И НЕ ПоОбъявлениюНаВзносНаличными)*/)
				{
					//ТаблицаДвиженияДенежныхСредств.Очистить();
					/*// Заполним таблицу движений.
*/
					if(true/*СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
					{
						//УправлениеПроектами.ОтразитьДвиженияПоПроектам(ДвиженияДенежныхСредств, ТаблицаДвиженияДенежныхСредств, Неопределено, Дата, "ДенежныеСредства");
					}
					/*// Недостающие поля.
*/
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(СтруктураПараметров.ВидДенежныхСредствПолучатель,  "ВидДенежныхСредств");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Перечисления.ВидыДвиженийПриходРасход.Приход, "ПриходРасход");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(СтруктураПараметров.БанковскийСчетКассаПолучатель, "БанковскийСчетКасса");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация, "Организация");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Ссылка, "ДокументДвижения");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация, "Контрагент");
					//Движения.ДвиженияДенежныхСредств.мПериод          = ДатаДвижений;
					//Движения.ДвиженияДенежныхСредств.мТаблицаДвижений = ТаблицаДвиженияДенежныхСредств;
					//Движения.ДвиженияДенежныхСредств.ВыполнитьДвижения();
				}
				if(true/*РасчетыСКонтрагентами*/)
				{
					/*// По регистру "ВзаиморасчетыСКонтрагентами" - расход при возврате, иначе приход
*/
					//ТаблицаВзаиморасчетыСКонтрагентами = Движения.ВзаиморасчетыСКонтрагентами.ВыгрузитьКолонки();
					/*// По регистру "ДенежныеСредстваКомитента"  - приход при возврате, иначе расход
*/
					//ТаблицаДенежныеСредстваКомитента = Движения.ДенежныеСредстваКомитента.ВыгрузитьКолонки();
					//ЕстьРасчетыСКомитентом           = Ложь;
					//Движения.ВзаиморасчетыСКонтрагентами.мПериод          = ДатаДвижений;
					//Движения.ВзаиморасчетыСКонтрагентами.мТаблицаДвижений = ТаблицаВзаиморасчетыСКонтрагентами;
					if(true/*КоэффициентСторно = 1*/)
					{
						//Движения.ВзаиморасчетыСКонтрагентами.ВыполнитьПриход();
					}
					if(true/*ЕстьРасчетыСКомитентом*/)
					{
						//Движения.ДенежныеСредстваКомитента.мПериод          = ДатаДвижений;
						//Движения.ДенежныеСредстваКомитента.мТаблицаДвижений = ТаблицаДенежныеСредстваКомитента;
						if(true/*КоэффициентСторно = 1*/)
						{
							//Движения.ДенежныеСредстваКомитента.ВыполнитьРасход();
						}
					}
				}
			}
		}
		//ПровестиСписаниеДенежныхСредствУпр

		public void ПровестиПоступлениеДенежныхСредствУпр(/*СтруктураШапкиДокумента, СтруктураПараметров, ТаблицаПлатежейУпр, Движения, Отказ, Заголовок*/)
		{
			//РасчетыСКонтрагентами = СтруктураПараметров.ЕстьРасчетыСКонтрагентами ИЛИ СтруктураПараметров.ЕстьРасчетыПоКредитам;
			//ОтраженоВОперУчете    = СтруктураШапкиДокумента.ОтраженоВОперУчете;
			//Оплачено              = СтруктураШапкиДокумента.Оплачено;
			//Дата         = СтруктураШапкиДокумента.Дата;
			//ДатаДвижений = СтруктураПараметров.ДатаДвижений;
			//Организация         = СтруктураШапкиДокумента.Организация;
			//ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредств;
			//СуммаДокумента      = СтруктураШапкиДокумента.СуммаДокумента;
			//ВалютаДокумента     = СтруктураШапкиДокумента.ВалютаДокумента;
			//Ссылка              = СтруктураШапкиДокумента.Ссылка;
			//БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКасса;
			//ВидОперации         = СтруктураШапкиДокумента.ВидОперации;
			//Контрагент          = СтруктураШапкиДокумента.Контрагент;
			//РасчетыВозврат    = УправлениеДенежнымиСредствами.НаправленияДвиженияДляДокументаДвиженияДенежныхСредствУпр(ВидОперации);
			//КоэффициентСторно = ?(РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат, -1, 1);
			/*ПоДенежномуЧеку = СтруктураПараметров.Свойство("ПоДенежномуЧеку") 
		И СтруктураПараметров.ПоДенежномуЧеку;*/
			/*ПоРасчетномуДокументу = СтруктураПараметров.Свойство("ПоРасчетномуДокументу") 
		И СтруктураПараметров.ПоРасчетномуДокументу;*/
			//ДвиженияПоСтатьям             = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоПланируемымПлатежам = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоРезерву             = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоКонтрагентам        = ТаблицаПлатежейУпр.Скопировать();
			//ДвиженияПоПланируемымПлатежам.Свернуть("ДокументПланированияПлатежа,ВключатьВПлатежныйКалендарь,ДоговорКонтрагента,Сделка,ДокументРасчетовСКонтрагентом,ВедениеВзаиморасчетов,ВестиПоДокументамРасчетовСКонтрагентом,СтатьяДвиженияДенежныхСредств,Проект","СуммаПлатежа,СуммаВзаиморасчетов,СуммаПлатежаПлан,СуммаУпр");
			//ДвиженияПоКонтрагентам.Свернуть("ДоговорКонтрагента,Сделка,ДокументРасчетовСКонтрагентом,ВидДоговора,ВедениеВзаиморасчетов,КонтролироватьДенежныеСредстваКомитента,Проект","СуммаВзаиморасчетов,СуммаУпр,СуммаРегл,СуммаВзаиморасчетовОстаток,СуммаУпрОстаток");
			//ДвиженияПоСтатьям.Свернуть("СтатьяДвиженияДенежныхСредств","СуммаПлатежа,СуммаУпр");
			//ДвиженияПоРезерву.Свернуть("ДокументПланированияПлатежа","СуммаПлатежа");
			if(true/*Оплачено*/)
			{
				/*// По регистру "Денежные средства" - приход
*/
				//ТаблицаДенежныеСредства	= Движения.ДенежныеСредства.ВыгрузитьКолонки();
				//СтрокаКурсыВалют=ТаблицаПлатежейУпр[0];
				/*СуммаУпр = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
			СуммаДокумента, 
			ВалютаДокумента, глЗначениеПеременной("ВалютаУправленческогоУчета"), 
			СтрокаКурсыВалют.КурсДокумента, СтрокаКурсыВалют.КурсУпрУчета, 
			СтрокаКурсыВалют.КратностьДокумента, СтрокаКурсыВалют.КратностьУпрУчета);*/
				//СтрокаДвиженийОстатки = ТаблицаДенежныеСредства.Добавить();
				//СтрокаДвиженийОстатки.БанковскийСчетКасса = БанковскийСчетКасса;
				//СтрокаДвиженийОстатки.Организация 		  = Организация;
				//СтрокаДвиженийОстатки.ВидДенежныхСредств  = ВидДенежныхСредств;
				//СтрокаДвиженийОстатки.Сумма               = СуммаДокумента;
				//СтрокаДвиженийОстатки.СуммаУпр            = СуммаУпр;
				//Движения.ДенежныеСредства.мПериод          = ДатаДвижений;
				//Движения.ДенежныеСредства.мТаблицаДвижений = ТаблицаДенежныеСредства;
				//Движения.ДенежныеСредства.ВыполнитьПриход();
				/*// По регистру "Денежные средства к получению" - расход
*/
				//ТаблицаДенежныеСредстваКПолучению = Движения.ДенежныеСредстваКПолучению.ВыгрузитьКолонки();
				//Движения.ДенежныеСредстваКПолучению.мПериод          = ДатаДвижений;
				//Движения.ДенежныеСредстваКПолучению.мТаблицаДвижений = ТаблицаДенежныеСредстваКПолучению;
				//Движения.ДенежныеСредстваКПолучению.ВыполнитьРасход();
				if(true/*ВидОперации = Перечисления.ВидыОперацийПКО.ПолучениеНаличныхДенежныхСредствВБанке И НЕ ПоДенежномуЧеку*/)
				{
					/*// По регистру "Денежные средства" - расход
*/
					//ТаблицаДенежныеСредства = Движения.ДенежныеСредства.ВыгрузитьКолонки();
					//СтрокаДвижений = ТаблицаДенежныеСредства.Добавить();
					//СтрокаДвижений.БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКассаОтправитель;
					//СтрокаДвижений.Организация 		   = Организация;
					//СтрокаДвижений.ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредствОтправитель;
					//СтрокаДвижений.Сумма               = СуммаДокумента;
					//СтрокаДвижений.СуммаУпр            = СуммаУпр;
					//Движения.ДенежныеСредства.мПериод          = ДатаДвижений;
					//Движения.ДенежныеСредства.мТаблицаДвижений = ТаблицаДенежныеСредства;
					//Движения.ДенежныеСредства.ВыполнитьРасход();
					/*// По регистру "Денежные средства к списанию" - расход
*/
					//ТаблицаДенежныеСредстваКСписанию = Движения.ДенежныеСредстваКСписанию.ВыгрузитьКолонки();
					//СтрокаДвижений = ТаблицаДенежныеСредстваКСписанию.Добавить();
					//СтрокаДвижений.БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКассаОтправитель;
					//СтрокаДвижений.Организация 		   = Организация;
					//СтрокаДвижений.ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредствОтправитель;
					//СтрокаДвижений.ДокументСписания    = Ссылка;
					//СтрокаДвижений.СтатьяДвиженияДенежныхСредств = ДвиженияПоСтатьям[0].СтатьяДвиженияДенежныхСредств;
					//СтрокаДвижений.Сумма               = СуммаДокумента;
					//Движения.ДенежныеСредстваКСписанию.мПериод          = ДатаДвижений;
					//Движения.ДенежныеСредстваКСписанию.мТаблицаДвижений = ТаблицаДенежныеСредстваКСписанию;
					//Движения.ДенежныеСредстваКСписанию.ВыполнитьРасход();
				}
				/*// Резервируем денежные средства, если приход планировался и по нему размещались заявки
*/
			}
			if(true/*ОтраженоВОперУчете И НЕ ПоРасчетномуДокументу*/)
			{
				if(true/*НЕ ПоДенежномуЧеку*/)
				{
					/*// По регистру "Денежные средства к получению" - приход
*/
					//ТаблицаДенежныеСредстваКПолучению = Движения.ДенежныеСредстваКПолучению.ВыгрузитьКолонки();
					//Движения.ДенежныеСредстваКПолучению.мПериод          = ?(Оплачено, Мин(ДатаДвижений, Дата), Дата);
					//Движения.ДенежныеСредстваКПолучению.мТаблицаДвижений = ТаблицаДенежныеСредстваКПолучению;
					//Движения.ДенежныеСредстваКПолучению.ВыполнитьПриход();
					if(true/*ВидОперации = Перечисления.ВидыОперацийПКО.ПолучениеНаличныхДенежныхСредствВБанке*/)
					{
						/*// По регистру "Денежные средства к списанию" - приход
*/
						//ТаблицаДенежныеСредстваКСписанию = Движения.ДенежныеСредстваКСписанию.ВыгрузитьКолонки();
						//СтрокаДвижений = ТаблицаДенежныеСредстваКСписанию.Добавить();
						//СтрокаДвижений.БанковскийСчетКасса = СтруктураПараметров.БанковскийСчетКассаОтправитель;
						//СтрокаДвижений.Организация 		   = Организация;
						//СтрокаДвижений.ВидДенежныхСредств  = СтруктураПараметров.ВидДенежныхСредствОтправитель;
						//СтрокаДвижений.ДокументСписания    = Ссылка;
						//СтрокаДвижений.СтатьяДвиженияДенежныхСредств = ДвиженияПоСтатьям[0].СтатьяДвиженияДенежныхСредств;
						//СтрокаДвижений.Сумма               = СуммаДокумента;
						//Движения.ДенежныеСредстваКСписанию.мПериод          = Дата;
						//Движения.ДенежныеСредстваКСписанию.мТаблицаДвижений = ТаблицаДенежныеСредстваКСписанию;
						//Движения.ДенежныеСредстваКСписанию.ВыполнитьПриход();
					}
				}
				/*// По регистру "Планируемые поступления денежных средств" - расход
*/
				//ТаблицаПланируемыеПоступленияДенежныхСредств = Движения.ПланируемыеПоступленияДенежныхСредств.ВыгрузитьКолонки();
				/*// По регистру "Расчеты с контрагентами"
*/
				//ТаблицаРасчетыСКонтрагентами = Движения.РасчетыСКонтрагентами.ВыгрузитьКолонки();
				/*// По строкам табличной части
*/
				if(true/*(ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоПлатежнымКартам 
				ИЛИ ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоБанковскимКредитам)
			И СтруктураШапкиДокумента.СуммаУслуг <> 0*/)
				{
					/*СуммаУпрУслуга = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
				СтруктураШапкиДокумента.СуммаУслуг, 
				ВалютаДокумента, глЗначениеПеременной("ВалютаУправленческогоУчета"), 
				СтрокаКурсыВалют.КурсДокумента, СтрокаКурсыВалют.КурсУпрУчета, 
				СтрокаКурсыВалют.КратностьДокумента, СтрокаКурсыВалют.КратностьУпрУчета);*/
					//СтрокаДвиженийКонтрагенты = ТаблицаРасчетыСКонтрагентами.Добавить();
					//СтрокаДвиженийКонтрагенты.ВидДвижения		  = ВидДвиженияНакопления.Расход;
					//СтрокаДвиженийКонтрагенты.Активность		  = Истина;
					//СтрокаДвиженийКонтрагенты.Период			  = Дата;
					//СтрокаДвиженийКонтрагенты.Организация         = Организация;
					//СтрокаДвиженийКонтрагенты.Контрагент          = Контрагент;
					//СтрокаДвиженийКонтрагенты.ДоговорКонтрагента  = ДвиженияПоКонтрагентам[0].ДоговорКонтрагента;
					//СтрокаДвиженийКонтрагенты.РасчетыВозврат      = РасчетыВозврат;
					//СтрокаДвиженийКонтрагенты.СуммаВзаиморасчетов = СтруктураШапкиДокумента.СуммаУслуг;
					//СтрокаДвиженийКонтрагенты.СуммаУпр            = СуммаУпрУслуга;
				}
				if(true/*ТаблицаПланируемыеПоступленияДенежныхСредств.Количество() > 0*/)
				{
					//Движения.ПланируемыеПоступленияДенежныхСредств.мПериод          = Дата;
					//Движения.ПланируемыеПоступленияДенежныхСредств.мТаблицаДвижений = ТаблицаПланируемыеПоступленияДенежныхСредств;
					//Движения.ПланируемыеПоступленияДенежныхСредств.ВыполнитьРасход();
				}
				if(true/*ТаблицаРасчетыСКонтрагентами.Количество() > 0*/)
				{
					//Движения.РасчетыСКонтрагентами.мТаблицаДвижений	= ТаблицаРасчетыСКонтрагентами;
					//Движения.РасчетыСКонтрагентами.ВыполнитьДвижения();
				}
			}
			if(true/*Оплачено И ОтраженоВОперУчете*/)
			{
				/*// Проводим по фактическим взаиморасчетам
*/
				/*// По регистру "Движения денежных средств"
*/
				//ТаблицаДвиженияДенежныхСредств = Движения.ДвиженияДенежныхСредств.ВыгрузитьКолонки();
				//ДвиженияДенежныхСредств = ТаблицаПлатежейУпр.Скопировать();
				if(true/*СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
				{
					/*ДвиженияДенежныхСредств.Свернуть("ДокументПланированияПлатежа,ДоговорКонтрагента,Сделка,ДокументРасчетовСКонтрагентом,ВестиПоДокументамРасчетовСКонтрагентом,СтатьяДвиженияДенежныхСредств,Проект",
				"СуммаПлатежа,СуммаУпр");*/
					//ДвиженияДенежныхСредств.Колонки["СуммаПлатежа"].Имя = "Сумма";
					//УправлениеПроектами.ОтразитьДвиженияПоПроектам(ДвиженияДенежныхСредств, ТаблицаДвиженияДенежныхСредств, Неопределено, Дата, "ДенежныеСредстваПоступление", Ссылка);
				}
				/*// Недостающие поля.
*/
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(ВидДенежныхСредств,  "ВидДенежныхСредств");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(БанковскийСчетКасса, "БанковскийСчетКасса");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация,         "Организация");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Ссылка,              "ДокументДвижения");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Контрагент,          "Контрагент");
				//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Перечисления.ВидыДвиженийПриходРасход.Приход, "ПриходРасход");
				//Движения.ДвиженияДенежныхСредств.мПериод          = ДатаДвижений;
				//Движения.ДвиженияДенежныхСредств.мТаблицаДвижений = ТаблицаДвиженияДенежныхСредств;
				//Движения.ДвиженияДенежныхСредств.ВыполнитьДвижения();
				if(true/*ВидОперации = Перечисления.ВидыОперацийПКО.ПолучениеНаличныхДенежныхСредствВБанке И НЕ ПоДенежномуЧеку*/)
				{
					/*// По регистру "Движения денежных средств"
*/
					//ТаблицаДвиженияДенежныхСредств = Движения.ДвиженияДенежныхСредств.ВыгрузитьКолонки();
					/*// Заполним таблицу движений.
*/
					if(true/*СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
					{
						//УправлениеПроектами.ОтразитьДвиженияПоПроектам(ДвиженияДенежныхСредств, ТаблицаДвиженияДенежныхСредств, Неопределено, Дата, "ДенежныеСредства");
					}
					/*// Недостающие поля.
*/
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(СтруктураПараметров.ВидДенежныхСредствОтправитель,  "ВидДенежныхСредств");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Перечисления.ВидыДвиженийПриходРасход.Расход,       "ПриходРасход");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(СтруктураПараметров.БанковскийСчетКассаОтправитель, "БанковскийСчетКасса");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Организация,                                        "Организация");
					//ТаблицаДвиженияДенежныхСредств.ЗаполнитьЗначения(Ссылка,                                             "ДокументДвижения");
					//Движения.ДвиженияДенежныхСредств.мПериод          = Дата;
					//Движения.ДвиженияДенежныхСредств.мТаблицаДвижений = ТаблицаДвиженияДенежныхСредств;
					//Движения.ДвиженияДенежныхСредств.ВыполнитьДвижения();
				}
				if(true/*РасчетыСКонтрагентами 
			ИЛИ ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступленияОтПродажиИностраннойВалюты
			ИЛИ ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПриобретениеИностраннойВалюты*/)
				{
					/*// По регистру "Взаиморасчеты с контрагентами" - расход при возврате, иначе приход
*/
					//ТаблицаВзаиморасчетыСКонтрагентами = Движения.ВзаиморасчетыСКонтрагентами.ВыгрузитьКолонки();
					/*// По регистру "ДенежныеСредстваКомитента" - расход при возврате, иначе приход
*/
					//ЕстьРасчетыСКомиссионером = Ложь;
					//ТаблицаДенежныеСредстваКомиссионера = Движения.ДенежныеСредстваКомиссионера.ВыгрузитьКолонки();
					if(true/*(ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоПлатежнымКартам 
					ИЛИ ВидОперации = Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоБанковскимКредитам)
				И СтруктураШапкиДокумента.СуммаУслуг <> 0*/)
					{
						/*СуммаУпрУслуга = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
					СтруктураШапкиДокумента.СуммаУслуг, 
					ВалютаДокумента, глЗначениеПеременной("ВалютаУправленческогоУчета"), 
					СтрокаКурсыВалют.КурсДокумента, СтрокаКурсыВалют.КурсУпрУчета, 
					СтрокаКурсыВалют.КратностьДокумента, СтрокаКурсыВалют.КратностьУпрУчета);*/
						//СтрокаДвижений = ТаблицаВзаиморасчетыСКонтрагентами.Добавить();
						//СтрокаДвижений.ДоговорКонтрагента = ДвиженияПоКонтрагентам[0].ДоговорКонтрагента;
						//СтрокаДвижений.Организация        = Организация;
						//СтрокаДвижений.Контрагент         = Контрагент;
						//СтрокаДвижений.СуммаВзаиморасчетов = СтруктураШапкиДокумента.СуммаУслуг;
						//СтрокаДвижений.СуммаУпр            = СуммаУпрУслуга;
					}
					//Движения.ВзаиморасчетыСКонтрагентами.мПериод          = ДатаДвижений;
					//Движения.ВзаиморасчетыСКонтрагентами.мТаблицаДвижений = ТаблицаВзаиморасчетыСКонтрагентами;
					if(true/*КоэффициентСторно = 1*/)
					{
						//Движения.ВзаиморасчетыСКонтрагентами.ВыполнитьРасход();
					}
					if(true/*ЕстьРасчетыСКомиссионером*/)
					{
						//Движения.ДенежныеСредстваКомиссионера.мПериод          = ДатаДвижений;
						//Движения.ДенежныеСредстваКомиссионера.мТаблицаДвижений = ТаблицаДенежныеСредстваКомиссионера;
						if(true/*КоэффициентСторно = 1*/)
						{
							//Движения.ДенежныеСредстваКомиссионера.ВыполнитьРасход();
						}
					}
				}
			}
		}
		//ПровестиПоступлениеДенежныхСредствУпр
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ СОГЛАСОВАНИЯ ЗАЯВОК НА РАСХОД ДЕНЕЖНЫХ СРЕДСТВ
		//Функция определяет маршрут согласования заявки на расходование средств по подразделению

		public object ОпределитьМаршрутСогласования(/*Подразделение*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|	МаршрутСогласования,
	|	ВЫБОР КОГДА 
	|		Подразделение = &ТекПодразделение
	|		ТОГДА 0
	|	КОГДА Подразделение = &ПустоеПодразделение 
	|		ТОГДА 1
	|	КОНЕЦ КАК Приоритет
	|ИЗ РегистрСведений.НастройкиНачалаМаршрутовСогласования
	|ГДЕ
	|	(Подразделение = &ТекПодразделение) ИЛИ
	|	(Подразделение = &ПустоеПодразделение) 
	|УПОРЯДОЧИТЬ ПО Приоритет ВОЗР";*/
			//Запрос.УстановитьПараметр("ТекПодразделение", Подразделение);
			//Запрос.УстановитьПараметр("ПустоеПодразделение", Справочники.Подразделения.ПустаяСсылка());
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
			}
			return null;
		}
		//Функция определяет, используется ли функционал согласования заявок по указанной организации на указанную дату

		public object ИспользуетсяСогласованиеЗаявок(/*ТекОрганизация, ТекДата*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ТекОрганизация) ИЛИ НЕ ЗначениеЗаполнено(ТекДата)*/)
			{
			}
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ
	|	Организация
	|ИЗ РегистрСведений.НастройкиСогласованияЗаявокНаРасходованиеДС.СрезПоследних(&ТекДата, Организация = &ТекОрганизация)
	|";*/
			//Запрос.УстановитьПараметр("текОрганизация", ТекОрганизация);
			//Запрос.УстановитьПараметр("текДата", ТекДата);
			//Результат = Запрос.Выполнить();
			if(true/*НЕ Результат.Пустой()*/)
			{
			}
			return null;
		}
		//Функция проверяет, прошла ли заявка на расходование средств все этапы согласования
		//	Вызывается при вводе на основании и проведении документов, оформляющих выплату ДС по заявке
		//	Параметры: ПроверяемыеЗаявки (Ссылка на заявку либо массив со ссылками на документы ЗаявкаНаРасходованиеСредств)
		//			Отказ - булево, признак отказа
		//			Заголовок - строка, заголовок для вывода сообщений об ошибках
		//	Возвращаемое значение: булево

		public object ПроверитьСогласованиеЗаявок(/*ПроверяемыеЗаявки, Отказ = Ложь, Заголовок = ""*/)
		{
			//МассивЗаявок = Новый Массив;
			if(true/*ТипЗнч(ПроверяемыеЗаявки) = Тип("Массив")*/)
			{
				/*//включим в список только те заявки, для которых используется согласование
*/
			}
			if(true/*МассивЗаявок.Количество() = 0*/)
			{
				/*//нет заявок для которых используется согласование
*/
			}
			//ЗаявкаСогласована = Истина;
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ
	|Заявка,
	|Уровень,
	|Состояние
	|ИЗ РегистрСведений.СостоянияСогласованияЗаявок.СрезПоследних(,Заявка В (&СписокЗаявок)) КАК СостоянияСогласованияЗаявок";*/
			//Запрос.УстановитьПараметр("СписокЗаявок", МассивЗаявок);
			//РезультатЗапроса = Запрос.Выполнить();
			return null;
		}
		//Функция проверяет разрешено ли изменение заявки с учетом ее состояния согласования

		public object РазрешеноИзменениеЗаявки(/*ДокументСсылка, ТекстСообщенияПользователю = ""*/)
		{
			if(true/*НЕ ИспользуетсяСогласованиеЗаявок(ДокументСсылка.Организация, ДокументСсылка.Дата)*/)
			{
			}
			//ТекущийПользователь = глЗначениеПеременной("глТекущийПользователь");
			//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
			/*//Получим маршруты согласования, в которых текущий пользователь назначен основным
*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			/*Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
	|	Ссылка КАК МаршрутСогласования
	|ПОМЕСТИТЬ МаршрутыТекущегоПользователя
	|ИЗ Справочник.МаршрутыСогласования.СогласующиеЛица
	|ГДЕ Пользователь = &ТекПользователь
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
	|СостоянияСогласования.Состояние,
	|СостоянияСогласования.Этап,
	|СостоянияСогласования.Пользователь,
	|СостоянияСогласования.Уровень,
	|СогласующиеЛица.Пользователь 			КАК СледующийСогласующий,
	|ВЫБОР КОГДА 
	|		СостоянияСогласования.Этап В ИЕРАРХИИ 
	|			(ВЫБРАТЬ МаршрутСогласования ИЗ МаршрутыТекущегоПользователя)
	|		И СостоянияСогласования.Этап НЕ В 
	|			(ВЫБРАТЬ МаршрутСогласования ИЗ МаршрутыТекущегоПользователя)
	|ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ 			КАК НижестоящийЭтапСогласования
	|ИЗ РегистрСведений.СостоянияСогласованияЗаявок.СрезПоследних(,Заявка = &ТекущаяЗаявка) КАК СостоянияСогласования
	|ЛЕВОЕ СОЕДИНЕНИЕ 
	|	Справочник.МаршрутыСогласования.СогласующиеЛица КАК СогласующиеЛица
	|	ПО СогласующиеЛица.Ссылка = СостоянияСогласования.Этап.Родитель
	|";*/
			//Запрос.УстановитьПараметр("ТекПользователь", ТекущийПользователь);
			//Запрос.УстановитьПараметр("ТекущаяЗаявка", ДокументСсылка);
			//РезультатыЗапросов = Запрос.ВыполнитьПакет();
			//Выборка = РезультатыЗапросов[1].Выбрать();
			/*//Маршрут согласования заявки не определен
*/
			if(true/*НЕ Выборка.Следующий()*/)
			{
			}
			/*//Заявка еще не начала проходить по маршруту согласования
*/
			if(true/*НЕ ЗначениеЗаполнено(Выборка.Состояние) ИЛИ Выборка.Состояние = Перечисления.СостоянияОбъектов.Подготовлен*/)
			{
				/*//Заявка уже согласована к оплате
*/
			}
			//ТекстСообщенияПользователю = НСтр("ru = 'Заявка в процессе согласования, не может быть изменена.'");
			return null;
		}
		//Процедура обработчик подписки на событие "ПриПроведенииПлатежногоДокументаНаОснованииЗаявки"
		//	Выполняет проверку: согласованы ли заявки на расходование денежных средств, указанные в платежном документе

		public void ПриПроведенииПлатежногоДокументаНаОснованииЗаявки(/*Источник, Отказ, РежимПроведения*/)
		{
			if(true/*НЕ ИспользуетсяСогласованиеЗаявок(Источник.Организация, Источник.Дата)*/)
			{
			}
			//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Источник);
			//МассивЗаявокНаРасходДенежныхСредств = Источник.РасшифровкаПлатежа.ВыгрузитьКолонку("ДокументПланированияПлатежа");
			//ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(МассивЗаявокНаРасходДенежныхСредств);
			//ПроверитьСогласованиеЗаявок(МассивЗаявокНаРасходДенежныхСредств, Отказ, Заголовок);
		}
	}
}
